FindExecutableW 函式 (shellapi.h)

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

語法

HINSTANCE FindExecutableW(
  [in]           LPCWSTR lpFile,
  [in, optional] LPCWSTR lpDirectory,
  [out]          LPWSTR  lpResult
);

參數

[in] lpFile

類型:LPCTSTR

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

[in, optional] lpDirectory

類型:LPCTSTR

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

[out] lpResult

類型:LPTSTR

接收相關聯可執行檔檔名之緩衝區的位址。 這個檔名是 Null 終止的字串,指定在 open 參數中指定的檔案上執行 「時所啟動的可執行檔」。 簡單地說,這是直接按兩下檔案或從檔案快捷方式選單選擇 [開啟] 時啟動的應用程式。 此參數必須包含有效的非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終止字串的指標。 pszPath 是 null終止字符串緩衝區的指標,可接收可執行文件的路徑,而 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