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