我正在尝试从我的Win32应用程序中启动一个外部应用程序,但它失败了。以下是我正在使用的代码:
HINSTANCE instance = ShellExecute(NULL, _T("open"), _T("loader.exe"), NULL, NULL, SW_SHOWNORMAL);
if((int)instance <= 32)
{
_cprintf("Error = 0x%X\n", GetLastError());
return 0;
}
我得到的实例值是0x00000002,GetLastError返回0x2。当我尝试启动iTunes.exe或cmd.exe等其他应用程序时,相同的代码可以正常工作。它与外部应用程序有什么关系吗?顺便说一句,win32应用程序和loader.exe应用程序位于同一个文件夹中。
任何帮助都将受到高度赞赏。 法鲁克 -
答案 0 :(得分:2)
好吧,错误0x2是ERROR_FILE_NOT_FOUND
看起来找不到“loader.exe”
答案 1 :(得分:1)
答案 2 :(得分:0)
将loader.exe放在搜索路径中的某个位置,或提供完整路径。这是如何避免此文件未找到错误。 Windows错误代码都记录在MSDN上。