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

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

2015-9-6 15:32
7026
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);


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

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

或者你可以看看什么安全软件之类的~
2015-9-6 16:30
0
雪    币: 262
活跃值: (193)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
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
活跃值: (1293)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
装个虚拟机弄个干净的环境试试咯

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