我正在尝试启动iexplore.exe使其运行5秒钟,然后再次将其关闭。
iexplore可以很好地打开,但是当我调用PostThreadMessage时它没有关闭。
谁能看到我在做什么错?这是我的代码:

CString IEPath = "C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE";//GetIEPath();
//IEPath += ' ' + url;
std::string strCommand((LPCTSTR)IEPath);
PROCESS_INFORMATION    procinfo;
STARTUPINFO    startupinfo;
GetStartupInfo(&startupinfo);

CreateProcess(
        NULL,
        (char *)strCommand.c_str(),// name of executable module
        NULL,           // lpProcessAttributes
        NULL,           // lpThreadAttributes
        false,          // handle inheritance option
        CREATE_SHARED_WOW_VDM,              // creation flags
        NULL,           // new environment block
        NULL,           // current directory name
        &startupinfo,    // startup information
        &procinfo        // process information
        );


Sleep(5000);
    ::PostThreadMessage(procinfo.dwThreadId, WM_QUIT, 0, 0); //<---Dosent Close internet explorer!

有人知道我在做什么错吗?还是有更好的方法来解决这个问题?

最佳答案

如果您可以枚举桌面上的窗口并将WM_CLOSE发送到IE窗口,则可能有效..您可以使用 spy 程序获取IE窗口的窗口类

07-27 17:44