共用方式為


FindExecutableA 函式 (shellapi.h)

擷取與特定文件檔相關聯之可執行檔 (.exe) 檔案的名稱和句柄。

語法

HINSTANCE FindExecutableA(
  [in]           LPCSTR lpFile,
  [in, optional] LPCSTR lpDirectory,
  [out]          LPSTR  lpResult
);

參數

[in] lpFile

類型:LPCTSTR

null-terminated 字串的位址,指定檔名。 此檔案應該是檔。

[in, optional] lpDirectory

類型:LPCTSTR

指定預設目錄之 null終止字串的位址。 這個值可以 NULL

[out] lpResult

類型:LPTSTR

接收相關聯可執行檔檔名之緩衝區的位址。 這個檔名是 null終止字串,指定在 lpFile 參數中指定的檔案上執行 「開啟」時啟動的可執行檔。 簡單地說,這是直接按兩下檔案或從檔案快捷方式選單選擇 [開啟] 時啟動的應用程式。 此參數必須包含有效的非null 值,並假設其長度為 MAX_PATH。 驗證值的責任會留給程序設計人員。

傳回值

類型:HINSTANCE

如果成功,則傳回大於 32 的值,或小於或等於 32 代表錯誤的值。

下表列出可能的錯誤值。

傳回碼/值 描述
SE_ERR_FNF
2
找不到指定的檔案。
SE_ERR_PNF
3
指定的路徑無效。
SE_ERR_ACCESSDENIED
5
無法存取指定的檔案。
SE_ERR_OOM
8
系統記憶體不足或資源。
SE_ERR_NOASSOC
31
指定的檔案類型與可執行檔沒有關聯。

言論

針對檔使用 FindExecutable。 如果您想要擷取可執行檔案的路徑,請使用下列專案:

AssocQueryString(ASSOCF_OPEN_BYEXENAME,
                 ASSOCSTR_EXECUTABLE,
                 pszExecutableName,
                 NULL,
                 pszPath,
                 pcchOut);

在這裡,pszExecutableName 是指定可執行檔名稱之 null終止字串的指標。 pszPathnull終止字符串緩衝區的指標,可接收可執行文件的路徑,而 pcchOut 是指定 pszPath 緩衝區中 字元數目的 DWORD 指標。 當函式傳回時,pcchOut 會設定為實際放置在緩衝區中的字元數。 如需詳細資訊,請參閱 AssocQueryString

FindExecutable 傳回時,如果伺服器未回應要求以起始 DDE 用戶端應用程式的 DDE 交談,lpResult 參數可能會包含動態數據交換 (DDE) 伺服器啟動的路徑。

注意

Shellapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 FindExecutable 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 shellapi.h
連結庫 Shell32.lib
DLL Shell32.dll

另請參閱

ShellExecute