我无聊地坐着,想到了这个主意。是否可以更改WM_DESTROY
代码,以便它可以执行其他操作而不是关闭应用程序。但是,我认为这不会起作用,但是当你试图从Windows中的任务管理器关闭应用程序时,它会阻止它关闭。另外,有没有办法从任务管理器中删除我的应用程序,因此他们首先无法做到这一点?那么,这有可能还是你有更好的方法?我用谷歌搜索过这个并尝试过这个,但我想问一下这里有经验的人回答这个问题。
答案 0 :(得分:1)
Windows任务管理器将使用TerminateProcess
来“关闭”一个进程 - 如果您的程序意外或故意让一个损坏的VM_DESTROY
处理程序,这是一件好事。
有些方法可以搞乱隐藏流程的流程列表。但我实际上并不知道如何做到这一点,而不是从根本上(进程列表是一个链表,你可以从列表中“取消链接”一个进程,它“消失”)。显然这样做会是病毒,木马,间谍软件等所做的事情,而且我没有看到任何理由让你想在合法的应用程序中这样做。
编辑:隐藏应用程序只是意味着它没有出现在任务管理器的进程列表中。如果您知道该任务存在(并且您可以例如基于系统活动或某些此类“猜测”),那么仍然可以使用具有足够权限来终止该进程的某个应用程序使用它的进程ID来终止该任务。
答案 1 :(得分:0)
你应该阅读win32 api demo。当主窗口收到WM_DESTROY消息时,调用postquitmessage([exitcode])来结束消息循环。