如果您要明确/以编程方式杀死任何其他程序/进程,则在SysInternals的pstools中,有一个名为“
pskill”的小工具,其行为与Unixen的“ kill”相同。
如果您还需要其他内容,请继续阅读(尽管我可能在下面的某些详细信息上有误-自从我上次仅使用WinAPI和Charles Petzold的出色著作“
Programming for Windows”作为指南开发Windows C程序以来,这已经成为一个世纪。 )。
在Windows上,您没有适当的“信号”,WinMain和WinProc从操作系统接收的功能是简单的 消息 。例如,当您单击窗口的“
X”按钮时,Windows会向该窗口的处理程序发送消息WM_CLOSE。当窗口被删除但程序仍在运行时,它将发送WM_DESTROY。当它即将脱离主消息处理循环时,WinMain(不是WinProc)将收到WM_QUIT。您的程序应按预期对所有这些做出响应-
您实际上可以通过在收到WM_CLOSE后不执行应做的事情来开发“无法关闭”的应用程序。
当用户从Windows任务管理器中选择任务并单击“结束任务”时,操作系统将发送WM_CLOSE(还有另一个我不记得的消息)。但是,如果您使用“结束进程”,则该进程将直接终止,永远不会发送任何消息(来源:旧的新事物)
我记得有一种获取另一个进程窗口的HWND的方法,一旦获得另一个进程可以通过函数PostMessage和DispatchMessage向该窗口发送消息。



