使用VC ++编译器我想知道如何终止进程。是否有任何功能。
我尝试使用TerminateProcess();但我做不到......
答案 0 :(得分:5)
我不知道你想要做什么,但你必须知道TerminateProcess()
只是杀死了这个过程而没有让他有机会正常关闭。
您可能希望首先向应用程序发送WM_CLOSE
消息,然后,如果它没有响应,则使用TerminateProcess()
将其终止。
Dobbs博士有一篇精彩文章(带样本)here。
你可能想看看。
答案 1 :(得分:0)
TerminateProcess
需要PROCESS_TERMINATE
权限。如果您从OpenProcess
获得流程处理,则dwDesiredAccess参数必须至少包含PROCESS_TERMINATE
。
如果你试图杀死一个提升的进程,那么你的应用程序(杀毒的应用程序)也必须被提升。
您从GetLastError()
获得了什么错误代码?
答案 2 :(得分:0)
只是为了确保你做对了:
OpenProcess
从进程ID获取进程句柄(请求PROCESS_TERMINATE
访问权限)TerminateProcess
这种做法到底出了什么问题?