1、在U盘上执行一个程序A
2、这个程序拷贝另一个程序B到C盘,通过CreateProcess 创建B。(B的文件存放在C盘下)
3、A程序退出,B程序继续执行。
4、问题,U盘无法正常卸载。在CreateProcess B后,我CloseHandle关闭线程句柄了,可是为什么无法卸载U盘呢?
同样使用 WinExec,Shellexecute,都不行,只有关闭B进程以后才可以正常卸载U盘。
B进程的信息显示:其为C盘下的一个进程,并没有与U盘产生联系。
郁闷中,
2、这个程序拷贝另一个程序B到C盘,通过CreateProcess 创建B。(B的文件存放在C盘下)
3、A程序退出,B程序继续执行。
4、问题,U盘无法正常卸载。在CreateProcess B后,我CloseHandle关闭线程句柄了,可是为什么无法卸载U盘呢?
同样使用 WinExec,Shellexecute,都不行,只有关闭B进程以后才可以正常卸载U盘。
B进程的信息显示:其为C盘下的一个进程,并没有与U盘产生联系。
郁闷中,
----------------------------------------
进程句柄也关了~试试~
也没有继承 (FALSE)CreateProcess(Explore,CmdLine,0,0,FALSE,0,0,0,&startUp,&processInfo) // 关闭子进程的主线程句柄
CloseHandle(processInfo.hThread);
// 关闭子进程句柄
CloseHandle(processInfo.hProcess);