2011-08-26 90 views
1

我试图从我的Win32应用程序启动外部应用程序,但它失败了。以下是我使用的代码:从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应用程序位于同一个文件夹中。

任何帮助将不胜感激。 Farooq-

+0

您确定loader.exe与您的应用程序可执行文件位于相同的路径中(可执行应用程序的路径不是项目或源代码文件的路径 - 它必须是bin/Debug或Release,具体取决于您的配置) – Arun

回答

0

将loader.exe放在搜索路径的某处,或提供完整路径。那就是如何避免这个文件找不到错误。 Windows错误代码都记录在MSDN上。

相关问题