MFC中如何关闭ShellExecute调用的外部执行程序?

2024-12-20 19:02:11
推荐回答(5个)
回答1:

ShellExecute是一个函数,他无法返回被启动应用的句柄,也就是说你没法通过他的返回值去关闭外部应用。你可以试试CreateProcess函数,他会返回你启动程序的句柄,后面你可以通过这个句柄来结束这个应用。
或者使用ShellExecute,但是你需要使用进程枚举或者窗口枚举,找到你启动的应用的入口,来结束。

回答2:

HWND TheWindow;

TheWindow = ::FindWindow( NULL, "你的exe的名称" );
SendMessage(TheWindow,WM_SYSCOMMAND,SC_CLOSE,NULL);
这个可以关闭桌面的任何显示窗口的程序

回答3:

找到那个窗口的句柄,然后发送关闭消息
SendMessage(hWnd,WM_CLOSE,0,0);

回答4:

调用TerminateProcess,或者SendMessage发送WM_CLOSE

回答5:

可以用FindWindow跟OpenProcess就可以了