Bagikan melalui


Fungsi FindExecutableW (shellapi.h)

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

Sintaks

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

Parameter

[in] lpFile

Jenis: LPCTSTR

Alamat string yang dihentikan null yang menentukan nama file. File ini harus berupa dokumen.

[in, optional] lpDirectory

Jenis: LPCTSTR

Alamat string yang dihentikan null yang menentukan direktori default. Nilai ini bisa 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 "buka" 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 non-null yang valid dan diasumsikan memiliki panjang MAX_PATH. Tanggung jawab untuk memvalidasi nilai diserahkan kepada programmer.

Nilai kembali

Jenis: HINSTANCE

Mengembalikan nilai yang lebih besar dari 32 jika berhasil, atau nilai yang 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.

Keterangan

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 string null-terminated yang menentukan nama file yang dapat dieksekusi, pszPath adalah penunjuk ke buffer string null-terminated yang menerima jalur ke file yang dapat dieksekusi, dan pcchOut adalah penunjuk ke DWORD yang menentukan jumlah karakter dalam buffer pszPath . Ketika fungsi kembali, pcchOut diatur ke jumlah karakter yang benar-benar ditempatkan di buffer. Lihat AssocQueryString untuk informasi selengkapnya.

Ketika 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.

Catatan

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

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

Lihat juga

ShellExecute