Fungsi OpenProcess (processthreadsapi.h)
Membuka objek proses lokal yang ada.
Sintaks
HANDLE OpenProcess(
[in] DWORD dwDesiredAccess,
[in] BOOL bInheritHandle,
[in] DWORD dwProcessId
);
Parameter
[in] dwDesiredAccess
Akses ke objek proses. Hak akses ini diperiksa terhadap deskriptor keamanan untuk proses tersebut. Parameter ini bisa menjadi satu atau beberapa hak akses proses.
Jika pemanggil telah mengaktifkan hak istimewa SeDebugPrivilege, akses yang diminta diberikan terlepas dari konten deskriptor keamanan.
[in] bInheritHandle
Jika nilai ini TRUE, proses yang dibuat oleh proses ini akan mewarisi handel. Jika tidak, proses tidak mewarisi handel ini.
[in] dwProcessId
Pengidentifikasi proses lokal yang akan dibuka.
Jika proses yang ditentukan adalah System Idle Process (0x00000000), fungsi gagal dan kode kesalahan terakhir adalah ERROR_INVALID_PARAMETER
. Jika proses yang ditentukan adalah proses Sistem atau salah satu proses Server Klien Run-Time Subsistem (CSRSS), fungsi ini gagal dan kode kesalahan terakhir adalah ERROR_ACCESS_DENIED
karena pembatasan aksesnya mencegah kode tingkat pengguna membukanya.
Jika Anda menggunakan GetCurrentProcessId sebagai argumen untuk fungsi ini, pertimbangkan untuk menggunakan GetCurrentProcess alih-alih OpenProcess, untuk meningkatkan performa.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah handel terbuka untuk proses yang ditentukan.
Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Untuk membuka handel ke proses lokal lain dan mendapatkan hak akses penuh, Anda harus mengaktifkan hak istimewa SeDebugPrivilege. Untuk informasi selengkapnya, lihat Mengubah Hak Istimewa dalam Token.
Handel yang dikembalikan oleh fungsi OpenProcess dapat digunakan dalam fungsi apa pun yang memerlukan handel ke proses, seperti fungsi tunggu, asalkan hak akses yang sesuai diminta.
Ketika Anda selesai dengan handel, pastikan untuk menutupnya menggunakan fungsi CloseHandle .
Contoh
Misalnya, lihat Mengambil Rekam Jepret dan Menampilkan Proses.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | processthreadsapi.h (termasuk Windows.h pada Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk