bat程序杀死进程,进程会不会收到信号? 或者说会不会触发什么事件?

解决方案 »

  1.   

    bat调用的是taskkill.exe来杀死进程的。
    用apimonitor分析taskkill.exe调用到的API,发现了这样一句:
    taskkill.exe lstrlenW ( "成功: 给进程 "%s" 发送了终止信号,进程的 PID 为 %d。" )这说明肯定是会给进程发送终止信号的。
    但,是通过哪个函数发送的终止信号呢?
    往上看看到了这个:
    taskkill.exe PostMessageW ( 0x00080666, WM_CLOSE, 0, 0 )
    也就是发送了WM_CLOSE消息如果进程没有窗口,或者不响应WM_CLOSE消息呢?
    这块我没有分析到后面分析一下。