|
|
1
16
如果您还想了解其他内容,请继续阅读(尽管我在下面的一些细节上可能是错误的-自从我上次使用WinAPI和Charles Petzold的优秀书籍“Windows编程”作为指南用C开发Windows程序以来,已经很久了)。 在Windows上,如果没有正确的“信号”,WinMain和WinProc从操作系统接收的功能很简单 . 例如,当您单击窗口的“X”按钮时,Windows会向该窗口的处理程序发送消息WM_CLOSE。当窗口被删除但程序仍在运行时,它会发送WM_DESTROY。当它即将退出主消息处理循环时,WinMain(不是WinProc)接收WM_QUIT。您的程序应该像预期的那样响应所有这些-您实际上可以开发一个“不可关闭”的应用程序,在收到WM_CLOSE时不做它应该做的事情。 当用户从Windows任务管理器中选择任务并单击“结束任务”时,操作系统将发送WM_CLOSE(另一个我不记得了)。但是,如果使用“结束进程”,则直接终止进程,不会发送任何消息(来源: The Old New Thing 我记得有一种方法可以获得另一个进程窗口的HWND,一旦你得到另一个进程可以通过函数PostMessage和DispatchMessage向该窗口发送消息。 |
|
|
2
9
Windows不是POSIX。它没有信号。控制台程序得到的唯一“信号”是它们是否调用
其他一切都是通过IPC完成的,通常是通过窗口消息或RPC。查看Sun的文档,看看是否有办法满足您在Windows JRE上的要求。 |
|
|
3
4
在Windows中,一切都围绕着Win32消息。我不相信有一个命令行工具来做这件事,但是在C++中你可以使用 FindWindow 向另一个Windows程序发送任意消息。例如。:
这也可以在C#中使用com互操作来完成。 |
|
|
4
2
SIGINT和其他信号可以使用
windows-kill
,按语法
|
|
|
5
1
您还可以使用jconsole查看所有运行线程的堆栈跟踪。这将适用于Windows和任何其他支持Java的操作系统。jconsole还具有许多其他优秀的特性,如内存图、cpu图等。
如果您不熟悉jconsole,请查看 Using JConsole 文档 |
|
|
6
0
PsTools 从现在起,微软拥有, SysInternals 我会帮你的。 |
|
|
7
0
Ruby能够在windows上(至少模拟)SIGINT-SIGKILL等,并捕获这些消息。我想看看。
ruby如何在windows下“向该进程发送信号SIGINT”,实际上是调用
还有一种与windows等效的“捕获ctrl+c”方法,我想这就是它在那里调用的方法。 |
|
|
PHPLover · “支持PHP扩展或功能的端口”实际上是什么意思? 1 年前 |