Win32-2.3.1.0: A binding to part of the Win32 library

Copyright | (c) Alastair Reid, 1997-2003
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | Esa Ilari Vuokko <ei@vuokko.info>
Stability | provisional
Portability | portable
Safe Haskell | Safe
Language | Haskell98

System.Win32.Process

Description

A collection of FFI declarations for interfacing with Win32.

Synopsis

- iNFINITE :: DWORD
- sleep :: DWORD -> IO ()
- type ProcessId = DWORD
- type ProcessHandle = HANDLE
- type ProcessAccessRights = DWORD
- pROCESS_ALL_ACCESS :: ProcessAccessRights
- pROCESS_CREATE_PROCESS :: ProcessAccessRights
- pROCESS_CREATE_THREAD :: ProcessAccessRights
- pROCESS_DUP_HANDLE :: ProcessAccessRights
- pROCESS_QUERY_INFORMATION :: ProcessAccessRights
- pROCESS_SET_QUOTA :: ProcessAccessRights
- pROCESS_SET_INFORMATION :: ProcessAccessRights
- pROCESS_TERMINATE :: ProcessAccessRights
- c_OpenProcess :: ProcessAccessRights -> BOOL -> ProcessId -> IO ProcessHandle
- pROCESS_VM_OPERATION :: ProcessAccessRights
- pROCESS_VM_READ :: ProcessAccessRights
- openProcess :: ProcessAccessRights -> BOOL -> ProcessId -> IO ProcessHandle
- pROCESS_VM_WRITE :: ProcessAccessRights
- sYNCHORNIZE :: ProcessAccessRights
- c_GetProcessId :: ProcessHandle -> IO ProcessId
- getProcessId :: ProcessHandle -> IO ProcessId
- type Th32SnapHandle = HANDLE
- type Th32SnapFlags = DWORD
- type ProcessEntry32 = (ProcessId, Int, ProcessId, LONG, String)
- tH32CS_SNAPALL :: Th32SnapFlags
- tH32CS_SNAPHEAPLIST :: Th32SnapFlags
- tH32CS_SNAPMODULE :: Th32SnapFlags
- tH32CS_SNAPPROCESS :: Th32SnapFlags
- tH32CS_SNAPTHREAD :: Th32SnapFlags
- c_CreateToolhelp32Snapshot :: Th32SnapFlags -> ProcessId -> IO Th32SnapHandle
- c_Process32First :: Th32SnapHandle -> Ptr ProcessEntry32 -> IO BOOL
- c_Process32Next :: Th32SnapHandle -> Ptr ProcessEntry32 -> IO BOOL
- createToolhelp32Snapshot :: Th32SnapFlags -> Maybe ProcessId -> IO Th32SnapHandle
- withTh32Snap :: Th32SnapFlags -> Maybe ProcessId -> (Th32SnapHandle -> IO a) -> IO a
- peekProcessEntry32 :: Ptr ProcessEntry32 -> IO ProcessEntry32
- th32SnapEnumProcesses :: Th32SnapHandle -> IO [ProcessEntry32]

# Documentation

iNFINITE :: DWORD

sleep :: DWORD -> IO ()

type ProcessId = DWORD

type ProcessHandle = HANDLE

type ProcessAccessRights = DWORD

pROCESS_ALL_ACCESS :: ProcessAccessRights

pROCESS_CREATE_PROCESS :: ProcessAccessRights

pROCESS_CREATE_THREAD :: ProcessAccessRights

pROCESS_DUP_HANDLE :: ProcessAccessRights

pROCESS_QUERY_INFORMATION :: ProcessAccessRights

pROCESS_SET_QUOTA :: ProcessAccessRights

pROCESS_SET_INFORMATION :: ProcessAccessRights

pROCESS_TERMINATE :: ProcessAccessRights

c_OpenProcess :: ProcessAccessRights -> BOOL -> ProcessId -> IO ProcessHandle

pROCESS_VM_OPERATION :: ProcessAccessRights

pROCESS_VM_READ :: ProcessAccessRights

openProcess :: ProcessAccessRights -> BOOL -> ProcessId -> IO ProcessHandle

pROCESS_VM_WRITE :: ProcessAccessRights

sYNCHORNIZE :: ProcessAccessRights

c_GetProcessId :: ProcessHandle -> IO ProcessId

getProcessId :: ProcessHandle -> IO ProcessId

type Th32SnapHandle = HANDLE

type Th32SnapFlags = DWORD

type ProcessEntry32 = (ProcessId, Int, ProcessId, LONG, String)

ProcessId, number of threads, parent ProcessId, process base priority, path of executable file

tH32CS_SNAPALL :: Th32SnapFlags

tH32CS_SNAPHEAPLIST :: Th32SnapFlags

tH32CS_SNAPMODULE :: Th32SnapFlags

tH32CS_SNAPPROCESS :: Th32SnapFlags

tH32CS_SNAPTHREAD :: Th32SnapFlags

c_CreateToolhelp32Snapshot :: Th32SnapFlags -> ProcessId -> IO Th32SnapHandle

c_Process32First :: Th32SnapHandle -> Ptr ProcessEntry32 -> IO BOOL

c_Process32Next :: Th32SnapHandle -> Ptr ProcessEntry32 -> IO BOOL

createToolhelp32Snapshot :: Th32SnapFlags -> Maybe ProcessId -> IO Th32SnapHandle

Create a snapshot of specified resources. Call closeHandle to close snapshot.

withTh32Snap :: Th32SnapFlags -> Maybe ProcessId -> (Th32SnapHandle -> IO a) -> IO a

peekProcessEntry32 :: Ptr ProcessEntry32 -> IO ProcessEntry32

th32SnapEnumProcesses :: Th32SnapHandle -> IO [ProcessEntry32]

Enumerate processes using Process32First and Process32Next