无法通过Chrome扩展程序启动C#主机应用程序

时间:2015-10-13 04:37:50

标签: c# json google-chrome chrome-native-messaging

我正在关注此帖子,尝试设置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"相同的文件夹中文件。

任何想法都是我做错了吗?

2 个答案:

答案 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"