0

我希望将 TeamViewer 按钮集成到我的 Web 应用程序中,该按钮允许我的用户使用安装在每个用户计算机上的 TeamViewer 本地实例启动与预定义主机的远程连接。但是,这提出了一些问题,并且似乎比我最初预期的要复杂得多。

我试图https://start.teamviewer.com/device/<ID>/authorization/password/mode/control从 URL 调用并传入设备 ID,这实际上可以工作(不是无缝的,因为它总是打开一个新选项卡),但是,每次都会提示用户输入他们的 AD 凭据,尽管我们在我们的许多主机上设置了预先输入的密码。因此,这是一个耗时的解决方案,并不是真正理想的方法。

我的另一个想法是尝试C:\Program Files (x86)\TeamViewer\TeamViewer.exe -i <ID> --Password <PASSWORD>从某种 chromeNativeMessaging扩展中调用命令,但我似乎无法让它工作。

我已经创建了我的清单文件:

{
  "name": "com.mycompany.myapp",
  "description": "myapp",
  "path": "C:\\Program Files (x86)\\Teamviewer\\TeamViewer.exe",
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://........cnlfdm/"
  ]
}

我还创建了与上面的清单文件相对应的注册表项。

然后我从我的 onClick() 函数调用:

var port = chrome.runtime.connectNative('com.mycompany.myapp');

port.onMessage.addListener(function(msg) {
     console.log("Received" + msg);
});

port.onDisconnect.addListener(function() {
     console.log("Disconnected");
});

port.postMessage({ text: "Hello, my_application" });

这给了我错误Cannot read property 'sendNativeMessage' of undefined

最终,我试图让用户单击一个按钮,该按钮启动与预定义主机的远程控制会话并传递密码详细信息(或使用预先输入的密码详细信息)。

我应该提到我正在尝试从ng-click()我的 AngularJS 应用程序中的函数调用它,所以我不确定这是否会对问题产生一些影响。

4

0 回答 0