如何将 bat 脚本用作 Chrome 本地消息传递主机?
How do I use bat script as Chrome Native Messaging Host?
我知道第一反应是什么,但我的要求很少,为此编写脚本未免有些矫枉过正。我想要的只是 运行 一个系统命令并将其输出发送到扩展程序。
这是我试过的
@echo off
:strt
:: my code
goto strt
无效。
上面的代码给我一个错误消息 Error when communication with the native messaging host.
下面的例子Here
原来 .bat
不满足 chrome 本地消息传递主机 的要求。我对主机的要求很简单,使用 python 或 c++ 都太 much.I 已选择 powershell
来完成任务。
这里是 powershell
版本
try {
$reader = New-Object System.IO.BinaryReader([System.Console]::OpenStandardInput())
$len = $reader.ReadInt32()
$buf = $reader.ReadBytes($len)
$msg = [System.Text.Encoding]::UTF8.GetString($buf)
$nets = ConvertFrom-Csv (getmac /fo CSV /v)
..
..
..
# you get the point.
Response @{mac = $mac} }
回答我自己的问题,希望对以后的人有所帮助。
我知道第一反应是什么,但我的要求很少,为此编写脚本未免有些矫枉过正。我想要的只是 运行 一个系统命令并将其输出发送到扩展程序。
这是我试过的
@echo off
:strt
:: my code
goto strt
无效。 上面的代码给我一个错误消息 Error when communication with the native messaging host.
下面的例子Here
原来 .bat
不满足 chrome 本地消息传递主机 的要求。我对主机的要求很简单,使用 python 或 c++ 都太 much.I 已选择 powershell
来完成任务。
这里是 powershell
版本
try {
$reader = New-Object System.IO.BinaryReader([System.Console]::OpenStandardInput())
$len = $reader.ReadInt32()
$buf = $reader.ReadBytes($len)
$msg = [System.Text.Encoding]::UTF8.GetString($buf)
$nets = ConvertFrom-Csv (getmac /fo CSV /v)
..
..
..
# you get the point.
Response @{mac = $mac} }
回答我自己的问题,希望对以后的人有所帮助。