Bagikan melalui


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)

Lihat juga

CreateProcess

CreateProcessAsUser

CreateProcessWithLogonW

ShellExecuteEx