共用方式為


FindExecutableW 函式 (shellapi.h)

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

語法

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

參數

[in] lpFile

類型: LPCTSTR

指定檔名之 Null 終止字串的位址。 此檔案應該是檔。

[in, optional] lpDirectory

類型: LPCTSTR

指定預設目錄之 Null 終止字串的位址。 此值可以是 NULL

[out] lpResult

類型: LPTSTR

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

傳回值

類型: HINSTANCE

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

下表列出可能的錯誤值。

傳回碼/值 Description
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 參數可能會包含 Dynamic Data Exchange (DDE) 伺服器的路徑。

注意

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

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 shellapi.h
程式庫 Shell32.lib
Dll Shell32.dll

另請參閱

ShellExecute