怎样终止由ShellExecute运行的程序

witwolf 2011-06-30 11:34:06
我在mfc中调用ShellExecute进行一后台程序
怎样在主程序结束时同时结束这一后台程序


ShellExecute(NULL,_T("open"),_T("server.exe"),NULL,strPath,SW_HIDE);


由于对CreateProcess不熟悉,使用时出现各种问题,也找了很多办法,结果都没用
所以不考虑CreateProcess

大神们求帮忙
最好能附代码
...全文
293 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
greatersea 2011-08-12
  • 打赏
  • 举报
回复
不错,我也遇到了同样的问题
孤客天涯 2011-06-30
  • 打赏
  • 举报
回复
不能因为对CreateProcess不熟悉就放弃,相反,要实现你要的功能CreateProcess是最好的办法,CreateProcess创建进程的例子应该很多。
shenyi0106 2011-06-30
  • 打赏
  • 举报
回复
杀进程
FindWindow然后发WM_CLOSE
kyotrue 2011-06-30
  • 打赏
  • 举报
回复
枚举进程,通过进程名来判断,不过这个比CreateProcess更复杂,而且也不准确。
xunfeng_2008 2011-06-30
  • 打赏
  • 举报
回复
给他一个内核事件,让他自己退出, 然后再确认一下就可以了
快乐鹦鹉 2011-06-30
  • 打赏
  • 举报
回复
不就是杀进程吗?在进程列表中找到server.exe,杀掉就行了
Eleven 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 witwolf 的回复:]
搞定了。
谢谢大伙
[/Quote]
恭喜~~
witwolf 2011-06-30
  • 打赏
  • 举报
回复
搞定了。
谢谢大伙
zwfgdlc 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 witwolf 的回复:]

不是CreateProcess复杂。。。
我看的例子很多
也试了很多次。
没有次成功的。。
所以。。。。
[/Quote]
把你的代码放上来.
witwolf 2011-06-30
  • 打赏
  • 举报
回复
不是CreateProcess复杂。。。
我看的例子很多
也试了很多次。
没有次成功的。。
所以。。。。
zwfgdlc 2011-06-30
  • 打赏
  • 举报
回复
CreateProcess()其实并不复杂,有些参数是可选的.


PROCESS_INFORMATION pi = {0};
STARTUPINFO si = {0};

si.cb = sizeof(STARTUPINFO);

CreateProcess(TEXT("c:\\windows\\notepad.exe"), NULL, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);

//TerminateProcess(pi.hProcess, 0);
西湖秀才 2011-06-30
  • 打赏
  • 举报
回复
用ShellExecuteEx,结构体里面会有一个输出参数,句柄hProcess,直接terminateProcess(hprocess)

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧