我正在关注此帖子,尝试设置C#本机消息传递主机。 C# native host with Chrome Native Messaging
我的示例正在运行,我从bat文件中启动Calc.exe,如下所示:
host.json
{
"name": "tsetools",
"description": "TSE tools for Chrome",
"path": "tse-host.bat",
"type": "stdio",
"allowed_origins": [
"chrome-extension://ddemkjpofammommjpcmkhpajoccdjcdg/"
]
}
TSE-host.bat
@echo off
CD C:\Windows\System32
start calc.exe
以上工作正常启动Calc.exe
但如果我将 host.json 更改为以下内容:
{
"name": "tsetools",
"description": "TSE tools for Chrome",
"path": "TSEChromeHost.exe",
"type": "stdio",
"allowed_origins": [
"chrome-extension://jahdheagjlkdjcoeibobaphodgpgpacc/"
]
}
我从未见过" TSEChromeHost.exe"在任务管理器中启动。我已经从上面的帖子中构建了C#代码而没有任何错误&可以手动午餐。我有" TSEChromeHost.exe"在与我的" host.json"相同的文件夹中文件。
任何想法都是我做错了吗?
答案 0 :(得分:0)
我认为问题是无法找到TSEChromeHost.exe
。
试试这个:
您需要像这样更改tse-host.bat
文件(您需要将工作目录更改为TSEChromeHost.exe
所在的目录)
@echo off
Pushd D:\SomeDir
start TSEChromeHost.exe
将D:\SomeDir
更改为TSEChromeHost.exe
文件所在的driectory。
并在path
文件中设置host.json
键,如下所示:(如第一个示例中所示)
"path": "tse-host.bat"
答案 1 :(得分:0)
尝试指定TSEChromeHost.exe的完整路径。在Linux和OSX上,路径必须是绝对的。在Windows上,它可以相对于清单文件所在的目录。 (见this documentation)
"path": "Full_path_to_TSEChromeHost.exe"
例如
"path": "C:\\TestFolder\\TSEChromeHost.exe"