HOWTO: Constants in OpenProcess API dsDesiredAccess Parameter
ID: Q172273
|
The information in this article applies to:
-
Microsoft Visual Basic Learning, Professional, and Enterprise Editions for Windows, version 5.0
-
Microsoft Visual Basic Standard, Professional, and Enterprise Editions, 32-bit only, for Windows, version 4.0
SUMMARY
The API text viewer included with Visual Basic 4.0 does not define the
constants used in the OpenProcess API. The OpenProcess API is used to get a
handle to a running process from a process ID. The existing samples in the
Microsoft Knowledge Base define one of the possible constants, SYNCHRONIZE,
but the other values may be of use in special situations.
MORE INFORMATION
The constants are:
PROCESS_ALL_ACCESS =&H1F0FFF Specifies all possible access flags for
the process object.
PROCESS_CREATE_THREAD =&H2 Enables using the process handle in the
CreateRemoteThread function to create a thread in the process.
PROCESS_DUP_HANDLE =&H40 Enables using the process handle as either
the source or target process in the DuplicateHandle function to
duplicate a handle.
PROCESS_QUERY_INFORMATION =&H400 Enables using the process handle in the
GetExitCodeProcess and GetPriorityClass functions to read
information from the process object.
PROCESS_SET_INFORMATION =&H200 Enables using the process handle in the
SetPriorityClass function to set the priority class of the
process.
PROCESS_TERMINATE =&H1 Enables using the process handle in the
TerminateProcess function to terminate the process.
PROCESS_VM_OPERATION =&H8 Enables using the process handle in the
VirtualProtectEx and WriteProcessMemory functions to modify the
virtual memory of the process.
PROCESS_VM_READ =&H10 Enables using the process handle in the
ReadProcessMemory function to read from the virtual memory of
the process.
PROCESS_VM_WRITE =&H20 Enables using the process handle in the
WriteProcessMemory function to write to the virtual memory of
the process.
SYNCHRONIZE =&H100000 Enables using the process handle in any of the
wait functions to wait for the process to terminate.
If you need to create a handle that is to be used for more than one type of
access, you should add the desired access type parameters together. For
example, to get a handle to use with WaitForSingleObject and
GetExitCodeProcess, you would use:
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION+SYNCHRONIZE,FALSE,pid)
REFERENCES
For additional information, please see the following article(s) in the
Microsoft Knowledge Base:
Q129797
: HOWTO: Launch a Win32 Application from Visual Basic
Q150767
: HOWTO: Redirect Standard I/O of a Console Application
Keywords : kbGrpVBDB
Version : WINDOWS:4.0, 5.0
Platform : WINDOWS
Issue type : kbhowto