获取窗口句柄(HWND)在Chrome扩展

sycxhyv7  于 9个月前  发布在  Go
关注(0)|答案(1)|浏览(145)

我正在开发一个Chrome扩展程序,它使用Chrome的本地消息API与主机应用程序进行通信。主机应用程序是用C++编写的。现在我的主机应用程序需要Chrome选项卡的窗口句柄HWND,我的扩展程序当前处于活动状态。
有办法做到这一点吗?我不能使用任何NPAPI解决方案。
我看过Chrome扩展的文档,似乎没有办法做到这一点。
我看到了这个答案:Get Window Handle of Chrome Tab from Within Extension?
但是上面的答案并没有解释清楚。它是否要求通过迭代所有窗口来匹配窗口的标题?我如何做到这一点?如果多个选项卡具有相同的标题怎么办?可以以某种方式使用Tab Id或Window Id吗?

omhiaaxx

omhiaaxx1#

这是一个肮脏的黑客我使用我会设置浏览器标题的东西独特的,然后我会得到窗口/进程的窗口标题。
C#

string title = $"getting the window handle({Rnd(1, 999999999)})...";
JSExecute($"document.title = '{title}';");
process = Process.GetProcesses().FirstOrDefault(x => x.MainWindowTitle.Contains(title));

字符串

相关问题