Fungsi SHCreateProcessAsUserW (shellapi.h)
[SHCreateProcessAsUserW tidak diimplementasikan di bawah Windows XP atau sistem yang lebih baru.]
Membuat proses mode pengguna baru dan utas utamanya untuk menjalankan file yang dapat dieksekusi tertentu.
Sintaks
BOOL SHCreateProcessAsUserW(
[in, out] PSHCREATEPROCESSINFOW pscpi
);
Parameter
[in, out] pscpi
Jenis: PSHCREATEPROCESSINFOW
Penunjuk ke struktur SHCREATEPROCESSINFOW dengan informasi tentang cara membuat proses.
Mengembalikan nilai
Jenis: BOOL
Mengembalikan TRUE jika berhasil, atau FALSE jika tidak. Untuk mengambil informasi kesalahan yang diperluas, panggil GetLastError.
Keterangan
Fungsi ini mirip dengan ShellExecuteEx dengan runas sebagai kata kerja. Namun, SHCreateProcessAsUserW membuat proses yang berjalan dalam konteks keamanan pengguna yang diwakili oleh anggota hUserToken dari struktur yang ditunjukkan oleh pscpi. Anggota lpProcessInformation dapat digunakan untuk mengembalikan struktur PROCESS_INFORMATION dengan informasi tentang proses baru.
Kata kerja runas harus didukung oleh jenis file file yang dapat dieksekusi. Jenis file .exe mendukung runas. Gunakan fungsi AssocQueryString untuk memeriksa apakah runas didukung oleh jenis file lain. Fragmen kode berikut mengilustrasikan sintaksis .
AssocQueryString(0, ASSOCSTR_COMMAND, pszFile, TEXT("runas"), NULL, &cchVerb)
Untuk diskusi tentang cara menggunakan Shell untuk meluncurkan aplikasi, lihat Meluncurkan Aplikasi.
SHCreateProcessAsUserW tidak didukung di bawah Windows XP. Pengguna yang memerlukan fungsionalitas serupa harus memeriksa CreateProcess, CreateProcessAsUser, CreateProcessWithLogonW dan ShellExecuteEx, dengan hati-hati mengevaluasi masing-masing berdasarkan fungsionalitas dan keamanan yang diperlukan. IQueryAssociations dapat digunakan untuk mengekstrak informasi yang digunakan dengan CreateProcess, jika perlu.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional, Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shellapi.h |
Pustaka | Shell32.lib |
DLL | Shell32.dll (versi 5.0 atau yang lebih baru) |