我希望将 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 应用程序中的函数调用它,所以我不确定这是否会对问题产生一些影响。