我正在尝试启动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窗口的窗口类