我得到了一个chrome扩展名,如果有新标签页,我想在当前窗口中获取窗口中的窗口句柄。
在事件上,我得到了tab对象,得到了chrome的内部窗口ID,但这不是Windows中的句柄。
chrome.tabs.onCreated.addListener(
function (tab)
{
var intMainWindowHwnd = 0; // how to get it? not tab.windowId…
});
谢谢!
好吧,如果有人遇到相同的问题,我使用C ++中的NPAPI插件解决了该问题,该插件可以访问win32api ...
在Invoke方法中,我检查了我的方法(GetProcessId)并获得了父进程(因为插件位于另一个进程中):
ULONG_PTR MyAddon::GetParentProcessId() // By Napalm @ NetCore2K
{
ULONG_PTR pbi[6];
ULONG ulSize = 0;
LONG (WINAPI *NtQueryInformationProcess)(HANDLE ProcessHandle, ULONG ProcessInformationClass,
PVOID ProcessInformation, ULONG ProcessInformationLength, PULONG ReturnLength);
*(FARPROC *)&NtQueryInformationProcess =
GetProcAddress(LoadLibraryA("NTDLL.DLL"), "NtQueryInformationProcess");
if(NtQueryInformationProcess){
if(NtQueryInformationProcess(GetCurrentProcess(), 0,
&pbi, sizeof(pbi), &ulSize) >= 0 && ulSize == sizeof(pbi))
return pbi[5];
}
return (ULONG_PTR)-1;
}
然后,我得到了此过程的主要内容,并将其返回给我的js插件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句