Programowanie w języku Delphi

OpenProcess

  • 2010-10-31 18:27
  • 0 komentarzy
  • 1068 odsłon
  • Oceń ten tekst jako pierwszy
// C
HANDLE OpenProcess(
  DWORD dwDesiredAccess,
  BOOL bInheritHandle,
  DWORD dwProcessId
);

// Delphi
function OpenProcess(dwDesiredAccess: DWORD; bInheritHandle: Boolean; dwProcessId: DWORD): DWORD;

Funkcja OpenProcess otwiera istniejący proces.


Parametry
dwDesiredAccess
Uprawnienia do procesu. Uprawnienia są porównywane z deskryptorami zabezpieczeń nałożonymi na proces. Parametr ten może przyjmować wartość jednej lub wielu flag uprawnień do procesu (eng).

bInheritHandle
Jeśli ten parametr ma wartość True, uchwyt może być dziedziczony; w przeciwnym wypadku uchwyt nie może być dziedziczony.

dwProcessId
Identyfikator procesu, którego uchwyt ma być otworzony.


Wartość zwracana
Jeśli funkcja się powiedzie, zwraca otwarty uchwyt określonego procesu.

Jeśli funkcja się nie powiedzie, zwraca wartość NULL (0). Dodatkowe informacje o błędzie można pobrać za pomocą funkcji GetLastError.


Uwagi
Aby otworzyć uchwyt innego procesu i uzyskać pełne uprawnienia, należy nadać przywilej SeDebugPrivilege.

Uchwyt zwrócony przez funkcję OpenProcess może być użyty w wywołaniu dowolnej funkcji, która wśród swoich parametrów wymaga uchwytu do procesu, pod warunkiem posiadania odpowiednich uprawnień.

Po zakończeniu pracy z uchwytem należy go zwolnić za pomocą funkcji CloseHandle.


Zobacz też