Bagikan melalui


Fungsi FindExecutableW (shellapi.h)

Mengambil nama dan handel ke file yang dapat dieksekusi (.exe) yang terkait dengan file dokumen tertentu.

Sintaksis

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

Parameter

[in] lpFile

Jenis: LPCTSTR

Alamat untai (karakter) nullyang dihentikan yang menentukan nama file. File ini harus berupa dokumen.

[in, optional] lpDirectory

Jenis: LPCTSTR

Alamat string nulldihentikan yang menentukan direktori default. Nilai ini dapat null.

[out] lpResult

Jenis: LPTSTR

Alamat buffer yang menerima nama file dari file yang dapat dieksekusi terkait. Nama file ini adalah string yang dihentikan null yang menentukan file yang dapat dieksekusi dimulai ketika "open" oleh asosiasi dijalankan pada file yang ditentukan dalam parameter lpFile . Sederhananya, ini adalah aplikasi yang diluncurkan ketika file dokumen langsung diklik dua kali atau ketika Buka dipilih dari menu pintasan file. Parameter ini harus berisi nilai null non-yang valid dan diasumsikan memiliki panjang MAX_PATH. Tanggung jawab untuk memvalidasi nilai diserahkan kepada programmer.

Mengembalikan nilai

Jenis: HINSTANCE

Mengembalikan nilai yang lebih besar dari 32 jika berhasil, atau nilai kurang dari atau sama dengan 32 yang mewakili kesalahan.

Tabel berikut ini mencantumkan kemungkinan nilai kesalahan.

Mengembalikan kode/nilai Deskripsi
SE_ERR_FNF
2
File yang ditentukan tidak ditemukan.
SE_ERR_PNF
3
Jalur yang ditentukan tidak valid.
SE_ERR_ACCESSDENIED
5
File yang ditentukan tidak dapat diakses.
SE_ERR_OOM
8
Sistem kehabisan memori atau sumber daya.
SE_ERR_NOASSOC
31
Tidak ada asosiasi untuk tipe file yang ditentukan dengan file yang dapat dieksekusi.

Komentar

Gunakan FindExecutable untuk dokumen. Jika Anda ingin mengambil jalur file yang dapat dieksekusi, gunakan yang berikut ini:

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

Di sini, pszExecutableName adalah penunjuk ke stringnull null yang menentukan nama file yang dapat dieksekusi, pszPath adalah penunjuk ke buffer string null null yang menerima jalur ke file yang dapat dieksekusi, dan pcchOut adalah penunjuk ke DWORD yang menentukan jumlah karakter dalam buffer pszPath . Saat fungsi kembali, pcchOut diatur ke jumlah karakter yang benar-benar ditempatkan di buffer. Lihat AssocQueryString untuk informasi selengkapnya.

Saat FindExecutable kembali, parameter lpResult mungkin berisi jalur ke server Dynamic Data Exchange (DDE) dimulai jika server tidak merespons permintaan untuk memulai percakapan DDE dengan aplikasi klien DDE.

Nota

Header shellapi.h mendefinisikan FindExecutable sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP [hanya aplikasi desktop]
server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Platform Target Windows
Header shellapi.h
Pustaka Shell32.lib
DLL Shell32.dll

Lihat juga

ShellExecute