【H2E_Studio】扩展API 清单列表,让JS拥有本地权限

H2E_Studio 本地 COM 接口帮助文档

调用通用格式

await chrome.webview.hostObjects.Demo. 函数名 (参数);


一、程序控制

CloseProgram()

功能:关闭并退出程序调用示例:

await chrome.webview.hostObjects.Demo.CloseProgram();

LogOff()

功能:<font color="#0066ff">注销当前用户 【慎用】</font>调用示例:

await chrome.webview.hostObjects.Demo.LogOff();

PowerOff()

功能:<font color="#0066ff">关闭计算机 【慎用】</font>调用示例:

await chrome.webview.hostObjects.Demo.PowerOff();

Reboot()

功能:<font color="#0066ff">重启计算机 【慎用】</font>调用示例:

await chrome.webview.hostObjects.Demo.Reboot();


二、窗口控制(完整版)

Maximize()

功能:窗口最大化调用示例:

await chrome.webview.hostObjects.Demo.Maximize();

Minimize()

功能:窗口最小化调用示例:

await chrome.webview.hostObjects.Demo.Minimize();

Restore()

功能:恢复窗口默认大小调用示例:

await chrome.webview.hostObjects.Demo.Restore();

FullScreen()

功能:无边框全屏显示调用示例:

await chrome.webview.hostObjects.Demo.FullScreen();

SetWindowTitle(Title)

参数说明:

  • Title:窗口标题字符串

功能:设置主窗口标题调用示例:

await chrome.webview.hostObjects.Demo.SetWindowTitle ("我的工具");

SetWindowTopMost(IsTop)

参数说明:

  • IsTop:true = 置顶,false = 取消置顶

功能:设置窗口置顶 / 取消置顶调用示例:

await chrome.webview.hostObjects.Demo.SetWindowTopMost(true);

SetWindowPosition(top, left)

参数说明:

  • top:窗口顶部距离屏幕顶部像素
  • left:窗口左侧距离屏幕左侧像素

功能:设置窗口在屏幕上的坐标位置调用示例:

await chrome.webview.hostObjects.Demo.SetWindowPosition(100, 100);

SetWindowSize(width, height)

参数说明:

  • width:窗口宽度(像素)
  • height:窗口高度(像素)

功能:设置窗口宽度和高度调用示例:

await chrome.webview.hostObjects.Demo.SetWindowSize(1000, 600);


三、网页操作(WebView2)

OpenDebugWindow()

功能:打开开发者工具(F12)调用示例:

await chrome.webview.hostObjects.Demo.OpenDebugWindow();

ClearBrowsingData()

功能:清理浏览器缓存、Cookie、历史记录调用示例:

await chrome.webview.hostObjects.Demo.ClearBrowsingData();

Page_captureScreenshot(Json_Str)

功能:网页截图(全屏 / 区域 / 自定义)

完整 JSON 结构示例:

{"format": "png","quality": 100,"clip": {"x": 0,"y": 0,"width": 1920,"height": 1080,"scale": 1}}

参数逐一说明:

  • format:图片格式,支持 png /jpeg
  • quality:图片质量 0-100(仅 jpeg 有效)
  • clip:截图区域配置
  • clip.x:截图区域起始 X 坐标
  • clip.y:截图区域起始 Y 坐标
  • clip.width:截图宽度
  • clip.height:截图高度
  • clip.scale:截图缩放比例(默认 1.0)

调用示例一:全屏截图

await chrome.webview.hostObjects.Demo.Page_captureScreenshot('{"format": "png","quality": 100}');

调用示例二:截取指定区域

await chrome.webview.hostObjects.Demo.Page_captureScreenshot('{"format": "png","quality": 100,"clip": {"x": 0,"y": 0,"width": 800,"height": 600,"scale": 1}}');

Page_printToPDF(Json_Str)

功能:网页导出 PDF

完整 JSON 结构示例:

{"ColorMode": 0,"FooterUri": "","HeaderTitle": "","Orientation": 0,"PageRanges": "","PrintBackgrounds": true,"PrintHeaderAndFooter": false,"PrintSelectionOnly": false}

参数逐一说明:

  • ColorMode:颜色模式 0 = 彩色 / 1 = 灰度
  • FooterUri:页脚地址(为空则不显示)
  • HeaderTitle:页眉标题(为空则不显示)
  • Orientation:方向 0 = 纵向 / 1 = 横向
  • PageRanges:打印页码范围(为空则全部打印)
  • PrintBackgrounds:是否打印背景色 true = 是
  • PrintHeaderAndFooter:是否打印页眉页脚 true = 是
  • PrintSelectionOnly:是否只打印选中内容 true = 是

调用示例:默认配置导出 PDF

await chrome.webview.hostObjects.Demo.Page_printToPDF('{"ColorMode": 0,"FooterUri": "","HeaderTitle": "","Orientation": 0,"PageRanges": "","PrintBackgrounds": true,"PrintHeaderAndFooter": false,"PrintSelectionOnly": false}');

OpenLocalFile(FileName)

参数说明:

  • FileName:文件完整路径

功能:打开本地文件 / 文件夹调用示例:

await chrome.webview.hostObjects.Demo.OpenLocalFile("C:\test.txt");


四、键值存储(字符串持久化)

SetKeyValue(Key, Value)

参数说明:

  • Key:键名
  • Value:值

功能:保存键值对(永久存储)调用示例:

await chrome.webview.hostObjects.Demo.SetKeyValue("token","123456");

GetKeyValue(Key)

参数说明:

  • Key:键名

返回:字符串结果功能:读取键值调用示例:

let val = await chrome.webview.hostObjects.Demo.GetKeyValue("token");

ClearAllKeyValue()

功能:清空所有键值存储调用示例:

await chrome.webview.hostObjects.Demo.ClearAllKeyValue();


五、系统信息

MachineCode()

功能:获取本机唯一机器码调用示例:

let mc = await chrome.webview.hostObjects.Demo.MachineCode();

FileVersion()

功能:程序文件版本调用示例:

let ver = await chrome.webview.hostObjects.Demo.FileVersion();

PackToolVersion()

功能:封装工具版本调用示例:

let ptv = await chrome.webview.hostObjects.Demo.PackToolVersion();

BrowserVersion()

功能:WebView2 内核版本调用示例:

let wvver = await chrome.webview.hostObjects.Demo.BrowserVersion();

GetComputerName()

功能:计算机名称调用示例:

let name = await chrome.webview.hostObjects.Demo.GetComputerName();

GetUserName()

功能:当前登录用户名调用示例:

let user = await chrome.webview.hostObjects.Demo.GetUserName();

GetLocalIP()

功能:本机内网 IP 地址调用示例:

let ip = await chrome.webview.hostObjects.Demo.GetLocalIP();


六、路径与文件操作

GetAppRootPath()

功能:获取程序根目录调用示例:

let path = await chrome.webview.hostObjects.Demo.GetAppRootPath();

GetDesktopPath()

功能:获取桌面路径调用示例:

let desk = await chrome.webview.hostObjects.Demo.GetDesktopPath();

GetDocumentsPath()

功能:获取文档路径调用示例:

let doc = await chrome.webview.hostObjects.Demo.GetDocumentsPath();

GetTempPath()

功能:系统临时目录调用示例:

let tmp = await chrome.webview.hostObjects.Demo.GetTempPath();

FileExists(FileName)

参数说明:

  • FileName:文件完整路径

返回:true = 存在功能:判断文件是否存在调用示例:

let ex = await chrome.webview.hostObjects.Demo.FileExists("C:\test.txt");

CreateDir(DirPath)

参数说明:

  • DirPath:文件夹路径

返回:true = 成功功能:创建文件夹调用示例:

await chrome.webview.hostObjects.Demo.CreateDir("C:\test");

DeleteFile(FileName)

参数说明:

  • FileName:文件完整路径

返回:true = 成功功能:删除文件调用示例:

await chrome.webview.hostObjects.Demo.DeleteFile("C:\test.txt");

CopyFile(Src, Dst)

参数说明:

  • Src:源文件路径
  • Dst:目标文件路径

返回:true = 成功功能:复制文件调用示例:

await chrome.webview.hostObjects.Demo.CopyFile("C:\a.txt","D:\b.txt");


七、日志

AppLog(LogText)

参数说明:

  • LogText:日志内容

功能:写入日志(自动带时间戳)调用示例:

await chrome.webview.hostObjects.Demo.AppLog ("程序启动成功");


八、加密工具

StrMD5(Input)

参数说明:

  • Input:输入字符串

返回:32 位小写MD5 值功能:字符串 MD5 加密调用示例:

let md5 = await chrome.webview.hostObjects.Demo.StrMD5("123456");


九、INI 配置文件

INI_ReadString(FileName, Section, Key)

功能:读取 INI 字符串调用示例:

let val = await chrome.webview.hostObjects.Demo.INI_ReadString("config.ini","Setting","Name");

INI_WriteString(FileName, Section, Key, Value)

功能:写入 INI 字符串调用示例:

await chrome.webview.hostObjects.Demo.INI_WriteString ("config.ini","Setting","Name","测试");

INI_ReadInt(FileName, Section, Key)

功能:读取 INI 整数调用示例:

let num = await chrome.webview.hostObjects.Demo.INI_ReadInt("config.ini","Setting","Width");

INI_WriteInt(FileName, Section, Key, Value)

功能:写入 INI 整数调用示例:

await chrome.webview.hostObjects.Demo.INI_WriteInt("config.ini","Setting","Width",1000);


十、串口公共参数说明

<font color="red">nPort</font>:串口号 1~20<font color="red">nBaud</font>:波特率,仅支持以下有效值:110、300、600、1200、2400、4800、9600、14400、19200、38400、56000、57600、115200、128000、256000<font color="red">nDataBits</font>:数据位 4/5/6/7/8<font color="red">nParity</font>:0=None,1=Odd,2=Even,3=Mark,4=Space<font color="red">nStopBits</font>:0=1 位,1=1.5 位,2=2 位RTS/DTR/XON:true = 启用,false = 禁用


十一、串口 A 接口

Serial_ListPorts()

返回:逗号分隔字符串,示例:com1,com2,com3功能:获取可用串口列表调用示例:

let ports = await chrome.webview.hostObjects.Demo.Serial_ListPorts();

SerialA_Open(nPort,nBaud,nDataBits,nParity,nStopBits,RTS,DTR,XON)

功能:打开串口 A,成功返回 OK,失败返回错误原因描述调用示例:

let ret = await chrome.webview.hostObjects.Demo.SerialA_Open(3,115200,8,0,0,true,true,false);

SerialA_Close()

功能:关闭串口 A调用示例:

await chrome.webview.hostObjects.Demo.SerialA_Close();

SerialA_IsOpen()

功能:判断串口 A 是否已打开调用示例:

let open = await chrome.webview.hostObjects.Demo.SerialA_IsOpen();

SerialA_WriteStr(sData)

功能:串口 A 发送普通字符串调用示例:

await chrome.webview.hostObjects.Demo.SerialA_WriteStr("test");

SerialA_Read()

功能:读取串口 A 返回字符串调用示例:

let data = await chrome.webview.hostObjects.Demo.SerialA_Read();

SerialA_WriteHexStr(sHexStrData)

功能:串口 A 发送 HEX 格式字符串调用示例:

await chrome.webview.hostObjects.Demo.SerialA_WriteHexStr("AABB0102");

SerialA_ReadHexStr()

功能:读取串口 A HEX 格式数据调用示例:

let hex = await chrome.webview.hostObjects.Demo.SerialA_ReadHexStr();


十二、串口 B 接口

SerialB_Open(nPort,nBaud,nDataBits,nParity,nStopBits,RTS,DTR,XON)

功能:打开串口 B,成功返回 OK,失败返回错误原因描述调用示例:

let ret = await chrome.webview.hostObjects.Demo.SerialB_Open(4,9600,8,0,0,true,true,false);

SerialB_Close()

功能:关闭串口 B调用示例:

await chrome.webview.hostObjects.Demo.SerialB_Close();

SerialB_IsOpen()

功能:判断串口 B 是否已打开调用示例:

let open = await chrome.webview.hostObjects.Demo.SerialB_IsOpen();

SerialB_WriteStr(sData)

功能:串口 B 发送普通字符串调用示例:

await chrome.webview.hostObjects.Demo.SerialB_WriteStr("test");

SerialB_Read()

功能:读取串口 B 返回字符串调用示例:

let data = await chrome.webview.hostObjects.Demo.SerialB_Read();

SerialB_WriteHexStr(sHexStrData)

功能:串口 B 发送 HEX 格式字符串调用示例:

await chrome.webview.hostObjects.Demo.SerialB_WriteHexStr("AABB0102");

SerialB_ReadHexStr()

功能:读取串口 B HEX 格式数据调用示例:

let hex = await chrome.webview.hostObjects.Demo.SerialB_ReadHexStr();