none
如何隐藏打开IE11 RRS feed

  • 问题

  • String command= "C:/Program Files/Internet Explorer/iexplore.exe"; if(!CreateProcess( NULL, // lpApplicationName command.c_str(), // lpCommandLine NULL, // lpProcessAttributes NULL, // lpThreadAttributes FALSE, // bInheritHandles 0, // dwCreationFlags NULL, // lpEnvironment NULL, // lpCurrentDirectory &si, // lpStartupInfo &pi // lpProcessInformation ))

    利用win32打开一个应用程序lpStartupInfo.wShowWindow = OS.SW_HIDE;

    lpStartupInfo.dwFlags=OS.STARTF_USESHOWWINDOW;执行后会隐藏所启动的应用程序,当ie的版本为ie11的时候,隐藏不成功

    ie9及以下版本隐藏成功。请问有没有能指点迷津的人

    2018年4月18日 9:24

全部回复

  • Hi,

    感谢在MSDN论坛发帖。

    >>利用win32打开一个应用程序lpStartupInfo.wShowWindow = OS.SW_HIDE;

    lpStartupInfo.dwFlags=OS.STARTF_USESHOWWINDOW;执行后会隐藏所启动的应用程序,当ie的版本为ie11的时候,隐藏不成功

    ie9及以下版本隐藏成功。请问有没有能指点迷津的人

    经测试发现,确实有这个问题。

    建议你将该问题发到下面的网址中。会有微软的开发人员帮助你解决问题。

    https://developercommunity.visualstudio.com/

    谢谢你的理解与支持。

    Best Regards,

    Baron Bi


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年4月19日 6:44
  • IE11不能像IE9及以下版本一样正常隐藏启动,有没有这方面的高手能解答一下我的疑惑?

    #include "windows.h"
    #include "iostream"

    int main(int argc, TCHAR* argv[])
    {
    TCHAR cmd[ MAX_PATH ] = TEXT("C:\\Program Files\\Internet Explorer\\iexplore.exe");

    STARTUPINFO si;
    ZeroMemory(&si, sizeof(si));
    GetStartupInfo(&si);
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = SW_HIDE;

    PROCESS_INFORMATION pi;
    ZeroMemory(&pi, sizeof(pi));

    BOOL b=CreateProcess(NULL, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
    int err=GetLastError();
    std::cout<<b;
    return 0;
    }

    如果si.wShowWindow = SW_HIDE;改成si.wShowWindow = SW_SHOWMINIMIZED;,仅仅 是能最小化,但是没有能够完全隐藏,图标依旧可见,IE9  8 是能把图标也隐藏了,只在任务管理器里面看到进程而已

    • 已合并 Baron Bi 2018年5月9日 9:29 重复的帖子
    2018年5月8日 7:24
  • TCHAR cmd[MAX_PATH] = TEXT("C:\\Program Files\\Internet Explorer\\iexplore.exe");
    
    #define NEW_DESKTOP_WINDOW		TEXT("MyDesktop")
    
    	HDESK hDesk = CreateDesktop(NEW_DESKTOP_WINDOW, NULL, NULL, 0, GENERIC_READ | GENERIC_WRITE, NULL);
    	ASSERT(NULL != hDesk);
    
    	STARTUPINFO si = { sizeof(si) };
    	si.lpDesktop = NEW_DESKTOP_WINDOW;
    
    	PROCESS_INFORMATION pi = { 0 };
    
    	if (CreateProcess(NULL, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi))
    	{
    		WaitForSingleObject(pi.hProcess, INFINITE);
    
    		CloseHandle(pi.hThread);
    		CloseHandle(pi.hProcess);
    	}
    
    	if (NULL != hDesk) { CloseDesktop(hDesk); }



    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已建议为答案 Baron Bi 2018年5月9日 4:59
    2018年5月8日 15:36
    版主
  • 版主大大,试了一下你的代码,是把ie内嵌进入了一个对话框,但我想的只是隐藏启动一个独立的IE11。我向https://developercommunity.visualstudio.com/提问了,谢谢版主大大
    2018年5月11日 7:33