ling3882688 发表于 2015-5-5 16:21:41

使用ShellExecute调用一个外部的exe,如何避免文件夹被锁定和占用?

本帖最后由 ling3882688 于 2015-5-5 16:29 编辑

比如我有个程序 1.exe 位于ABC目录下,1.exe运行后会调用一个2.exe,1.exe代码如下:
ShellExecute(@ProgramFilesDir & "\APP\2.exe","")
EXIT

当我的1.exe退出后,手动删除ABC目录显示被占用,也就是1.exe所在的目录被2.exe给占用着了,我尝试改成ShellExecute(@ProgramFilesDir & "\APP\2.exe",@ProgramFilesDir)也就是指定了调用时候的工作目录也不行。求各位老师帮忙,如果能让ABC这个目录在1.exe退出后不被占用?谢谢!(前提是2.exe不能关闭,需要一直运行。)

尝试把ShellExecute改成run就没问题了,所以只是想搞明白这个问题是怎么产生的,如果必须要用ShellExecute,该如何解决?
补充:2.exe好像是会强制将调用它的程序所在目录设置为自己的运行目录。

haijie1223 发表于 2015-5-5 17:49:50

还有多少马甲~都亮出来

ling3882688 发表于 2015-5-6 11:32:06

回复 2# haijie1223


    什么马甲?
页: [1]
查看完整版本: 使用ShellExecute调用一个外部的exe,如何避免文件夹被锁定和占用?