首页
社区
课程
招聘
[求助]CreateProcess创建的隐藏explorer进程如何通过代码关闭
发表于: 2015-9-6 15:32 7107

[求助]CreateProcess创建的隐藏explorer进程如何通过代码关闭

2015-9-6 15:32
7107
1
2
3
4
5
6
7
8
9
10
11
12
PROCESS_INFORMATION pi;
        STARTUPINFO si;      //隐藏进程窗口
        si.cb = sizeof(STARTUPINFO);
        si.lpReserved = NULL;
        si.lpDesktop = NULL;
        si.lpTitle = NULL;
        si.dwFlags = STARTF_USESHOWWINDOW;
        si.wShowWindow = 0;
        si.cbReserved2 = NULL;
        si.lpReserved2 = NULL;
                string str="explorer /select,C:\windows\notepad.exe";
                CreateProcess(NULL,(LPSTR)str.c_str(),NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);


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

收藏
免费
支持
分享
最新回复 (9)
雪    币: 0
活跃值: (276)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
占个沙发 等待大牛解答
2015-9-6 15:37
0
雪    币: 1040
活跃值: (1453)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
TerminateProcess(pi.hProcess)
2015-9-6 15:58
0
雪    币: 262
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
一般的进程可以通过这个函数直接结束掉,但是Explorer好像是无法通过此方法结束的
2015-9-6 16:18
0
雪    币: 1040
活跃值: (1453)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
在我这里是可以成功的,加了TerminateProcess(pi.hProcess,0);之后没有新的explorer生成

或者你可以看看什么安全软件之类的~
2015-9-6 16:30
0
雪    币: 262
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
PROCESS_INFORMATION pi;
        STARTUPINFO si;      //隐藏进程窗口
        si.cb = sizeof(STARTUPINFO);
        si.lpReserved = NULL;
        si.lpDesktop = NULL;
        si.lpTitle = NULL;
        si.dwFlags = STARTF_USESHOWWINDOW;
        si.wShowWindow = 0;
        si.cbReserved2 = NULL;
        si.lpReserved2 = NULL;
         
        string str="explorer /select,H:\\windows\\notepad.exe";
        BOOL ret = CreateProcess(NULL,(LPSTR)str.c_str(),NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
//      HWND hWnd;
 
        if(ret)
        {
    //      CloseHandle(pi.hThread);
    //      WaitForSingleObject(pi.hProcess,INFINITE);
    //      GetExitCodeProcess(pi.hProcess,&dwExitCode);
            TerminateProcess(pi.hProcess,0);
    //      CloseHandle(pi.hProcess);


我这里为什么依然产生了explorer的进程

这难道是人品问题么
2015-9-6 17:04
0
雪    币: 1040
活跃值: (1453)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
装个虚拟机弄个干净的环境试试咯

判断一下返回值,0代表失败,调用GetLastError获得进一步的错误信息
2015-9-6 17:13
0
雪    币: 3726
活跃值: (689)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
TerminateProcess函数要管理员权限才能正确执行.
2015-9-7 23:46
0
雪    币: 7671
活跃值: (4477)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
应该可以的吧
2015-9-8 09:13
0
雪    币: 262
活跃值: (218)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
谢谢!问题大概搞清楚了
我后来测试的时候没问题了,确实可以结束
然后我发现了一个问题,在xp系统上装了360 无法通过代码实现explorer 选中文件执行,简直凶残
2015-9-14 11:23
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册