一个程序如何结束另一个程序

yifeng_ch 2002-08-08 09:25:02
程序A与程序B共同运行在一个windows操作系统上,程序A如何能结束程序B。请各位高手指教,非常感谢!
...全文
54 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
yifeng_ch 2002-08-11
  • 打赏
  • 举报
回复
1、如果程序B在运行过程中没有出现Bug,使用以下方法:(1)、用FindWindow找窗口;(2)、GetWindowThreadProcessId和OpenProcess得到句柄。(3)、用TerminateProcess强杀进程;使用以上方法程序A可以顺利的结束程序B。
2、但是如果程序B在运行过程中出现Bug,操作系统弹出对话框给出提示,程序A使用上述的方法将不能结束程序B。
请各位高手指教,万分感谢!

esiedull 2002-08-10
  • 打赏
  • 举报
回复
要有应用程序的句柄用TERMINAPROCESS()终止
lkcowboy 2002-08-10
  • 打赏
  • 举报
回复
gz
eEric 2002-08-10
  • 打赏
  • 举报
回复
用SendMessage向系统弹出对话框的确认键发送一个鼠标消息关闭这个对话框不行吗?
sxslyy 2002-08-10
  • 打赏
  • 举报
回复
关注。
蓝天 2002-08-10
  • 打赏
  • 举报
回复
方法一:
用FindWindow找窗口
用GetWindowThreadProcessId和OpenProcess得到句柄
用TerminateProcess强杀进程
JeffreyChen 2002-08-10
  • 打赏
  • 举报
回复
我认为用 TerminateProcess() 函数的都是对的!
pig_2000 2002-08-10
  • 打赏
  • 举报
回复
我真的不清楚,我现在试试,谢谢你了
snsins 2002-08-10
  • 打赏
  • 举报
回复
别说得到别人的句柄

把一个DLL插入到不相关的进程里作为一个线程来运行都可以呀
snsins 2002-08-10
  • 打赏
  • 举报
回复
pig_2000()

当然可以得到,比如目标程序是 test.exe
那么就先枚举进程得到test.exe的ProcessID
然后调用OpenProcess得到进程的句柄,

pig_2000 2002-08-10
  • 打赏
  • 举报
回复
两个好不相关的应用程序,在不同的内存区域,能相互得到句柄吗?

我有个比较笨的办法:
两个应用程序各加一个线程,定时扫描同一个文件,其中一个应用程序可以把一些要传达的信息或数据放到文件中,另一个去读,然后来判断自己是否退出。

这个办法太笨了,希望有更好的方法。
gz
snsins 2002-08-10
  • 打赏
  • 举报
回复
georgehuang() :

可以利用OpenProcess来得到句柄的
georgehuang 2002-08-10
  • 打赏
  • 举报
回复
你的程序B是在程序A中启动的吗,如果是的话,A可以通过句柄来操作,
snsins 2002-08-10
  • 打赏
  • 举报
回复
BOOL TerminateProcess(
HANDLE hProcess, // handle to the process
UINT uExitCode // exit code for the process
);
保证目标程序吭都不会吭一声就结束了!
slimak 2002-08-10
  • 打赏
  • 举报
回复
比较稳妥的办法是先发WM_CLOSE消息,不行再OpenProcess()然后TerminateProcess().
czn 2002-08-10
  • 打赏
  • 举报
回复
要有应用程序的句柄用TERMINAPROCESS()终止
ColderRain 2002-08-10
  • 打赏
  • 举报
回复
用API钩子挂上去。
howtotell 2002-08-09
  • 打赏
  • 举报
回复
CWnd* pWnd=CWnd::FindWindow(NULL,"天网防火墙个人版");
if(pWnd)
pWnd->PostMessage(WM_CLOSE);
yifeng_ch 2002-08-09
  • 打赏
  • 举报
回复
如果程序B在运行过程中出现BUG,系统弹出对话框给出提示,这时程序A该如何结束程序B,及弹出的对话框。请高手指教,不胜感激。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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