使用TerminateProcess结束进程时,错误码为5的解决方法
最近在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,解决了我的问题。欣喜若狂啊!
方法2:在OpenProcess的时候权限设置的不对。
原因是OpenProcess是设置的权限不够,应该加上PROCESS_TERMINATE权限,具体可参考MSDN中的OpenProcess函数的说明。
将参数DWORDexitCode 设置成PROCESS_ALL权限即可使用。
TerminateProcess结束进程的具体代码如下:
--------------------------------------------------------------------------
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,processID);
TerminateProcess(hProcess,uExitCode);
--------------------------------------------------------------------------
最后,我用方法2解决了我的问题。感觉自己对这些API不熟悉,没有全局把握。
使用TerminateProcess结束进程时,错误码为5的解决方法相关推荐
- sqlite3出现SQLITE_BUSY错误码的原因以及解决方法
转载:https://www.cnblogs.com/lijingcheng/p/4454884.html 转载:https://blog.csdn.net/venchia_lu/article/de ...
- 使用ExitProcess()结束本进程、TerminateProcess 结束进程
进程只是提供了一段地址空间和内核对象,其运行时通过在其地址空间内的主线程来体现的.当主线程的进入点函数返回时,进程也就随之结束.这种进程的终止方式是进程的正常退出,进程中的所有线程资源都能够得到正确的 ...
- 使用ExitProcess()结束本进程,TerminateProcess()结束进程
进程只是提供了一段地址空间和内核对象,其运行时通过在其地址空间内的主线程来体现的.当主线程的进入点函数返回时,进程也就随之结束.这种进程的终止方式是进程的正常退出,进程中的所有线程资源都能够得到正确的 ...
- win10软件拒绝访问删不掉_win10结束进程时拒绝访问的处理办法
win10结束进程时拒绝访问的处理办法? 在平时的工作中,大家常常会碰到一些进程没有法响应,于是想要结束掉,可是有网友反映说结束进程时拒绝访问了,那么当你碰到win10结束进程时拒绝访问如何办,不熟悉 ...
- VC使用TerminateProcess结束进程实例
本文实例讲述了VC使用TerminateProcess结束进程的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: int KillProcess(LPCSTR pszClassNa ...
- 关于LR录制时不能自动启动IE浏览器的解决方法
关于LR录制时不能自动启动IE浏览器的解决方法 录制环境: win7 64位操作系统IE8 LR11 在使用Loadrunner进行性能调试时,录制脚本的时候,发现Loadrunner不能自动启动IE ...
- idea2019打卡没多久就闪退_IDEA 2020.1打开时闪退的问题及解决方法(完美解决方法)...
推荐阅读: 支持Java 14!Java开发工具IntelliJ IDEA 2020.1稳定版发布 https://www.jb51.net/softjc/720187.html IntelliJ I ...
- 打开 mhtml 文件 显示不全_3dmax打开时显示缺少外部文件的解决方法与步骤
谢谢观看文章,有什么问题可以私聊我,评论转发后可以私信我 资料 录播 可以免费领视频教学以及学习资料插件---------------------------------- 3dmax打开时显示缺少外 ...
- android 百度地图闪退,Android使用百度地图出现闪退及定位时显示蓝屏问题的解决方法...
使用百度地图出现闪退 一般情况下出现闪退是在AndroidManifest.xml文件中未在application标签中配置 android:name="com.baidu.lbsapi.A ...
最新文章
- jQuery 之父:每天写代码
- swapCursor vs changeCursor, what’s the difference?
- Vue CLI:全局CLI配置
- Google 节日徽标全集 (1999-2009) (下)
- java取json对象的值_java的JsonObject对象提取值方法
- 使用神经网络自动提取出它的特征码(1)
- html显示当前时间_HTML基础教程:超链接的使用
- RocketMQ——角色与术语详解
- 字体在ppt中可以整体替换吗_制作PPT必备的6个技巧,个个让人相见恨晚!你确定不来学一学?...
- 网络嗅探器c语言代码,基于C 网络嗅探器的设计与实现-精品.doc
- 三层交换(VLAN间通信)
- USACO-Section 3.2 Feed Ratios(枚举)
- Centos8.5.211降级为Centos8.4-1.2105
- 为了软银的万亿物联网 ARM取消了一笔企业预授权费用
- [翻译]pb技巧、代码和实用工具[程序员家园论坛]
- nvme 驱动详解[转]
- 圣诞礼物c语言代码大全,圣诞节到咯,教大家用C语言画个圣诞树
- ufs2.2 协议扫盲(三)
- RGB 色度空间转换
- python3爬取网易云歌单数据清洗_实例 | 使用网易云音乐数据演示数据整合与数据清洗...