当前位置:去问问>百科知识>TerminateProcess使用方法

TerminateProcess使用方法

2024-07-18 02:10:36 编辑:zane 浏览量:531

TerminateProcess使用方法

的有关信息介绍如下:

TerminateProcess使用方法

在win7上,VS2010开发环境中,写一个守护进程的程序,程序内容:发现目标进程挂起后,将其kill,然后重启。可是,遇到了一个问题,就是在使用TerminateProcess进行kill目标进程时,kill失败,利用GetLastError()获取错误代码为5,“5”表示拒绝访问。有2中解决方法: 方法1:获取管理员权限。在应用程序的Manifest禁用UAC Virtualization,取消其对数据写操作的重定向。具体做法:项目--》***属性--》连接器--》清单文件,我们设置启用UAC(Enable User Account Control),并且在UAC Execution Level中设置请求管理员权限。这样,应用程序在启动的时候,就会向用户请求管理员权限,当应用程序获得管理员执行权限后,当然可以向任意目录写入数据,UAC Virtualization也就不会起作用了。方法2:在OpenProcess的时候权限设置的不对。 原因是OpenProcess是设置的权限不够,应该加上PROCESS_TERMINATE权限,具体可参考MSDN中的OpenProcess函数的说明。 将参数DWORDexitCode 设置成PROCESS_ALL权限即可使用。 TerminateProcess结束进程的具体代码如下: -------------------------------------------------------------------------- HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,processID); TerminateProcess(hProcess,uExitCode); --------------------------------------------------------------------------

版权声明:文章由 去问问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.qwenw.com/article/337203.html
热门文章