我需要从插件 dll 代码(VC++)以管理员身份运行 Chrome。
但是如果 chrome 窗口处于活动状态,则新创建的窗口没有获得管理员权限。
我正在从 JavaScript 调用插件 dll 代码。创建新窗口后,我关闭了前一个窗口,但同样的情况。
我需要帮助,因为我的插件需要管理员权限。在 Firefox 的情况下也是如此。
(现在我使用 shellExecute 作为管理员创建一个新窗口)。
代码片段:
在这里,我创建了一个 Firefox 实例(所有浏览器都需要类似)
StartNewInstance(BSTR Address)
{
// TODO: Add your implementation code here
MessageBox(0,L"Inside",L"ParentName",0);
TCHAR szEXEPath[2048];
GetModuleFileName ( NULL, szEXEPath, 2048 );
SHELLEXECUTEINFO Shex;
ZeroMemory( &Shex, sizeof( SHELLEXECUTEINFO ) );
Shex.cbSize = sizeof( SHELLEXECUTEINFO );
Shex.fMask = SEE_MASK_FLAG_NO_UI | SEE_MASK_NOCLOSEPROCESS;
Shex.lpVerb = L"runas";
Shex.lpFile = L"C:\\Program Files\\Mozilla Firefox\\firefox.exe";
Shex.nShow = SW_SHOWNORMAL;
Shex.lpParameters = Address;
ShellExecuteEx( &Shex );
return true;
}