Article ID: 172273
Article Last Modified on 6/29/2004
APPLIES TO
- Microsoft Visual Basic 5.0 Learning Edition
- Microsoft Visual Basic 5.0 Professional Edition
- Microsoft Visual Basic 5.0 Enterprise Edition
- Microsoft Visual Basic 4.0 Standard Edition
- Microsoft Visual Basic 4.0 Professional Edition
- Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
This article was previously published under Q172273
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:
129797 : How To Launch a Win32 Application from Visual Basic
150767 : How To Redirect Standard I/O of a Console Application
Keywords: kbhowto KB172273