情境:自己写了一个loading画面,定时器到时间后调用shellexecute函数调用真正的程序。
问题:调用时出错,说找不到dll资源,但是用鼠标双击确可以打开。
经过分析之后,应该是路径的问题,主程序启动时要加载一些dll,还有读一些ini文件,这些都用到了
GetCurrentDir函数,应该是shellexecute之后主程序得到的当前路径不正确,导致无法读取资源。
修改:将GutCurrentDir换成
ExtractFilePath(application.ExeName);这样就完全可以了。
解决主程序路径问题导致加载DLL失败的技巧
本文详细阐述了在使用shellexecute函数调用程序时遇到路径问题导致DLL加载失败的情况,通过将GetCurrentDir替换为ExtractFilePath(application.ExeName)解决了路径不正确的问题,并成功实现了主程序正常运行。
640

被折叠的 条评论
为什么被折叠?



