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();
