2011-08-26 71 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上。

相關問題