module Windows::Process

The Process module includes process related functions and constants, including some tool help functions that relate to processes.

Constants

ABOVE_NORMAL_PRIORITY_CLASS

Process priority flags

BELOW_NORMAL_PRIORITY_CLASS
CREATE_BREAKAWAY_FROM_JOB

Process creation flags

CREATE_DEFAULT_ERROR_MODE
CREATE_NEW_CONSOLE
CREATE_NEW_PROCESS_GROUP
CREATE_NO_WINDOW
CREATE_PRESERVE_CODE_AUTHZ_LEVEL
CREATE_SEPARATE_WOW_VDM
CREATE_SHARED_WOW_VDM
CREATE_SUSPENDED
CREATE_UNICODE_ENVIRONMENT
DEBUG_ONLY_THIS_PROCESS
DEBUG_PROCESS
DETACHED_PROCESS
HIGH_PRIORITY_CLASS
IDLE_PRIORITY_CLASS
JOB_OBJECT_ALL_ACCESS
JOB_OBJECT_ASSIGN_PROCESS

Job Access Rights

JOB_OBJECT_LIMIT_ACTIVE_PROCESS
JOB_OBJECT_LIMIT_AFFINITY
JOB_OBJECT_LIMIT_BREAKAWAY_OK
JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION
JOB_OBJECT_LIMIT_JOB_MEMORY
JOB_OBJECT_LIMIT_JOB_TIME
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE
JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME
JOB_OBJECT_LIMIT_PRIORITY_CLASS
JOB_OBJECT_LIMIT_PROCESS_MEMORY
JOB_OBJECT_LIMIT_PROCESS_TIME
JOB_OBJECT_LIMIT_SCHEDULING_CLASS
JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK
JOB_OBJECT_LIMIT_WORKINGSET

Job Limit Flags

JOB_OBJECT_QUERY
JOB_OBJECT_SET_ATTRIBUTES
JOB_OBJECT_SET_SECURITY_ATTRIBUTES
JOB_OBJECT_TERMINATE
JobObjectAssociateCompletionPortInformation
JobObjectBasicLimitInformation

Job Object Classes

JobObjectBasicUIRestrictions
JobObjectEndOfJobTimeInformation
JobObjectExtendedLimitInformation
JobObjectGroupInformation
JobObjectSecurityLimitInformation
LOGON_NETCREDENTIALS_ONLY
LOGON_WITH_PROFILE
NORMAL_PRIORITY_CLASS
PROCESS_ALL_ACCESS

Process access rights

PROCESS_CREATE_PROCESS
PROCESS_CREATE_THREAD
PROCESS_DUP_HANDLE
PROCESS_QUERY_INFORMATION
PROCESS_QUERY_LIMITED_INFORMATION
PROCESS_SET_INFORMATION
PROCESS_SET_QUOTA
PROCESS_SUSPEND_RESUME
PROCESS_TERMINATE
PROCESS_VM_OPERATION
PROCESS_VM_READ
PROCESS_VM_WRITE
REALTIME_PRIORITY_CLASS
SHUTDOWN_NORETRY
STARTF_FORCEOFFFEEDBACK
STARTF_FORCEONFEEDBACK
STARTF_RUNFULLSCREEN
STARTF_USECOUNTCHARS
STARTF_USEFILLATTRIBUTE
STARTF_USEHOTKEY
STARTF_USEPOSITION
STARTF_USESHOWWINDOW
STARTF_USESIZE
STARTF_USESTDHANDLES
STILL_ACTIVE
SYNCHRONIZE

Private Instance Methods

windows_64?() click to toggle source

Helper method to determine if you're on a 64 bit version of Windows

# File lib/windows/process.rb, line 161
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