1

Am using VC++ compiler i want to know how to kill a process. is there any functions.

i tried with TerminateProcess(); but i couldn't do...

4

3 回答 3

5

我不确切知道你想做什么,但你必须知道TerminateProcess()只是杀死进程而不给他机会正确关闭。

您可能希望首先向WM_CLOSE应用程序发送一条消息,然后,如果它没有响应,请使用TerminateProcess().

Dobbs 博士在这里有一篇很棒的文章(带有示例)。

你可能想看看。

于 2010-05-05T07:16:03.273 回答
0

TerminateProcess需要PROCESS_TERMINATE权利。如果您从 获取进程句柄OpenProcess,则 dwDesiredAccess 参数必须至少包含PROCESS_TERMINATE.

如果您尝试终止提升的进程,那么您的应用程序(执行终止的应用程序)也必须提升。

你得到什么错误代码GetLastError()

于 2010-05-05T07:15:43.987 回答
0

只是为了确保你做对了:

  • 用于OpenProcess从进程 ID 获取进程句柄(请求PROCESS_TERMINATE访问权限)
  • 调用TerminateProcess此句柄

这种方法到底出了什么问题?

于 2010-05-05T07:19:37.400 回答