Module: Windows::Process
- Defined in:
- lib/windows/process.rb
Overview
The Process module includes process related functions and constants, including some tool help functions that relate to processes.
Constant Summary collapse
- PROCESS_ALL_ACCESS =
Process access rights
0x1F0FFF
- PROCESS_CREATE_PROCESS =
0x0080
- PROCESS_CREATE_THREAD =
0x0002
- PROCESS_DUP_HANDLE =
0x0040
- PROCESS_QUERY_INFORMATION =
0x0400
- PROCESS_QUERY_LIMITED_INFORMATION =
0x1000
- PROCESS_SET_QUOTA =
0x0100
- PROCESS_SET_INFORMATION =
0x0200
- PROCESS_SUSPEND_RESUME =
0x0800
- PROCESS_TERMINATE =
0x0001
- PROCESS_VM_OPERATION =
0x0008
- PROCESS_VM_READ =
0x0010
- PROCESS_VM_WRITE =
0x0020
- SYNCHRONIZE =
1048576
- STILL_ACTIVE =
259
- ABOVE_NORMAL_PRIORITY_CLASS =
Process priority flags
0x00008000
- BELOW_NORMAL_PRIORITY_CLASS =
0x00004000
- HIGH_PRIORITY_CLASS =
0x00000080
- IDLE_PRIORITY_CLASS =
0x00000040
- NORMAL_PRIORITY_CLASS =
0x00000020
- REALTIME_PRIORITY_CLASS =
0x00000100
- CREATE_BREAKAWAY_FROM_JOB =
Process creation flags
0x01000000
- CREATE_DEFAULT_ERROR_MODE =
0x04000000
- CREATE_NEW_CONSOLE =
0x00000010
- CREATE_NEW_PROCESS_GROUP =
0x00000200
- CREATE_NO_WINDOW =
0x08000000
- CREATE_PRESERVE_CODE_AUTHZ_LEVEL =
0x02000000
- CREATE_SEPARATE_WOW_VDM =
0x00000800
- CREATE_SHARED_WOW_VDM =
0x00001000
- CREATE_SUSPENDED =
0x00000004
- CREATE_UNICODE_ENVIRONMENT =
0x00000400
- DEBUG_ONLY_THIS_PROCESS =
0x00000002
- DEBUG_PROCESS =
0x00000001
- DETACHED_PROCESS =
0x00000008
- STARTF_USESHOWWINDOW =
0x00000001
- STARTF_USESIZE =
0x00000002
- STARTF_USEPOSITION =
0x00000004
- STARTF_USECOUNTCHARS =
0x00000008
- STARTF_USEFILLATTRIBUTE =
0x00000010
- STARTF_RUNFULLSCREEN =
0x00000020
- STARTF_FORCEONFEEDBACK =
0x00000040
- STARTF_FORCEOFFFEEDBACK =
0x00000080
- STARTF_USESTDHANDLES =
0x00000100
- STARTF_USEHOTKEY =
0x00000200
- LOGON_WITH_PROFILE =
0x00000001
- LOGON_NETCREDENTIALS_ONLY =
0x00000002
- SHUTDOWN_NORETRY =
0x00000001
- JobObjectBasicLimitInformation =
Job Object Classes
2
- JobObjectBasicUIRestrictions =
4
- JobObjectSecurityLimitInformation =
5
- JobObjectEndOfJobTimeInformation =
6
- JobObjectAssociateCompletionPortInformation =
7
- JobObjectExtendedLimitInformation =
9
- JobObjectGroupInformation =
11
- JOB_OBJECT_LIMIT_WORKINGSET =
Job Limit Flags
0x00000001
- JOB_OBJECT_LIMIT_PROCESS_TIME =
0x00000002
- JOB_OBJECT_LIMIT_JOB_TIME =
0x00000004
- JOB_OBJECT_LIMIT_ACTIVE_PROCESS =
0x00000008
- JOB_OBJECT_LIMIT_AFFINITY =
0x00000010
- JOB_OBJECT_LIMIT_PRIORITY_CLASS =
0x00000020
- JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME =
0x00000040
- JOB_OBJECT_LIMIT_SCHEDULING_CLASS =
0x00000080
- JOB_OBJECT_LIMIT_PROCESS_MEMORY =
0x00000100
- JOB_OBJECT_LIMIT_JOB_MEMORY =
0x00000200
- JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION =
0x00000400
- JOB_OBJECT_LIMIT_BREAKAWAY_OK =
0x00000800
- JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK =
0x00001000
- JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE =
0x00002000
- JOB_OBJECT_ASSIGN_PROCESS =
Job Access Rights
0x0001
- JOB_OBJECT_SET_ATTRIBUTES =
0x0002
- JOB_OBJECT_QUERY =
0x0004
- JOB_OBJECT_TERMINATE =
0x0008
- JOB_OBJECT_SET_SECURITY_ATTRIBUTES =
0x0010
- JOB_OBJECT_ALL_ACCESS =
0x1F001F
Instance Method Summary collapse
-
#windows_64? ⇒ Boolean
Helper method to determine if you’re on a 64 bit version of Windows.
Instance Method Details
#windows_64? ⇒ Boolean
Helper method to determine if you’re on a 64 bit version of Windows
159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/windows/process.rb', line 159 def windows_64? bool = false if defined? IsWow64Process buf = 0.chr * 4 if IsWow64Process(GetCurrentProcess(), buf) if buf.unpack('I')[0] == 1 bool = true end end end bool end |