情境:自己写了一个loading画面,定时器到时间后调用shellexecute函数调用真正的程序。
问题:调用时出错,说找不到dll资源,但是用鼠标双击确可以打开。
经过分析之后,应该是路径的问题,主程序启动时要加载一些dll,还有读一些ini文件,这些都用到了
GetCurrentDir函数,应该是shellexecute之后主程序得到的当前路径不正确,导致无法读取资源。
修改:将GutCurrentDir换成
ExtractFilePath(application.ExeName);
这样就完全可以了。