-
-
[求助]CreateProcess被启动程序工作路径问题
-
发表于: 2009-4-24 07:41 4391
-
CreateProcess启动一个程序,该程序会调用自身目录下文件,我试了以下几种方法,都要出错:
1.lpCurrentDirectory为null,启动就出错。
2.设置lpCurrentDirectory为该程序目录,启动不出错,退出时他要保存ini到自己目录下,这里就提示找不到要保存的文件。
3.启动后注入dll,使用SetCurrentDir设置路径,退出时还是提示找不到要保存的文件。
但是
1.lpCurrentDirectory为null,启动就出错。
2.设置lpCurrentDirectory为该程序目录,启动不出错,退出时他要保存ini到自己目录下,这里就提示找不到要保存的文件。
3.启动后注入dll,使用SetCurrentDir设置路径,退出时还是提示找不到要保存的文件。
但是
[COLOR=seagreen]//使用OpenDialog1打开一个文件并赋值給Edit再启动,就完全没有问题[/COLOR] [COLOR=seagreen]//太诡异了吧[/COLOR] if OpenDialog1.Execute then Edit1.Text := OpenDialog1.Filename;//[COLOR=seagreen]没有这句,直接从Edit1.Text启动就出错[/COLOR] CreateProcess(PChar(Edit1.Text), nil, nil, nil, FALSE, 0, nil, nil, //lpCurrentDirectory st, pi);
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: