首页
社区
课程
招聘
如何结束explorer.exe进程后不会自动运行
发表于: 2011-3-24 02:40 6458

如何结束explorer.exe进程后不会自动运行

2011-3-24 02:40
6458
有个需求要关闭掉explorer.exe,
但OpenProcess,TerminateProcess后windows会自动恢复explorer.exe
任务管理器里就能够结束掉而不会自动恢复,求原理

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 136
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
SPL
2
@echo off
@taskkill /f /im explorer.exe

将以上保存为bat文件运行即可结束explorer.exe
2011-3-24 06:59
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
改下注册表!
2011-3-24 08:20
0
雪    币: 31
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
任务管理器是调用TerminateProcess来结束进程的。
因为进程的权限是比较高的,我们自己的程序往往只是用USER权限运行,可以把自己程序的权限提高。
与此相关的一些API函数有OpenProcessToken、LookupPrivilegevalue、AdjustTokenPrivileges。
然后打开进程OpenProcess(PROCESS_ALL_ACCESS,FALSE,id)
再调用TerminateProcess
希望对你有些帮助。。。
2011-3-24 08:45
0
雪    币: 27
活跃值: (90)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
5
TerminateProcess(hProcess, 1) // 关闭后会自动运行
TerminateProcess(hProcess, 0) // 不会自动运行

如果没记错的话, 是IB牛告诉我的
2011-3-24 09:04
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
关键在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\AutoRestartShell
如果此项为0,则不管TerminateProcess传递的是1还是0都不自动重启explorer.exe;如果此项为1则检查TerminateProcess传递的参数,如果是1则自动重启,如果是0则不自动重启。

记得SmallFrogs曾就此写过一个pdf,可以自己搜索一下。
2011-3-24 09:49
0
雪    币: 31
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
能具体说说退出代码0和1么?
2011-3-24 10:23
0
雪    币: 169
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
多谢各位
TerminateProcess(hProcess, 0) // 关闭后会自动运行
TerminateProcess(hProcess, 1) // 不会自动运行
SmallFrogs大侠的文档
http://wenku.baidu.com/view/6bf203a1284ac850ad024230.html
2011-3-24 17:29
0
游客
登录 | 注册 方可回帖
返回
//