Memory, Processes and Threads
RELEASE MEMORY, release unused memory (leak memory), use for example:
ON KEY F5 ACTION ( RELEASE MEMORY )
DEFINE TIMER ... ACTION ( RELEASE MEMORY )
GetCurrentProcessID() --> return nProcessID
EnumProcessID () ---> return array { nProcessID1, nProcessID2, ... }
GetWindowThreadProcessID ( hWnd, @nThread, @nProcessID )
WoW64:
IsWow64Process ( [ nProcessID ] ) --> return lBoolean
- return TRUE if a 32-bit application is running under 64-bit Windows (WOW64)
- return FALSE if a 32-bit application is running under 32-bit Windows
- return FALSE if a 64-bit application is running under 64-bit Windows
Note: WOW64 (Win32 On Win64) is the x86 emulator that allows 32-bit Windows-based applications to running on 64-bit Windows
Process Info:
GetProcessName ( [ nProcessID ] ) --> return cProcessName
GetProcessFullName ( [ nProcessID ] ) --> return cProcessFullName
GetProcessImageFileName ( [ nProcessID ] ) --> return cProcessImageFileName
TerminateProcess ( [ nProcessID ] , [ nExitCode ] )
EmptyWorkingSet( [ ProcessID ] ) ---> lBoolean release unused memory (leak memory)
GetProcessMemoryInfo()
GetProcessMemoryInfo ( [ ProcessID ] ) --> returns an array with 9 numbers with used memory info for a process
- PageFaultCount, // The number of page faults
- PeakWorkingSetSize,
- WorkingSetSize, // The current working set size, in bytes
- QuotaPeakPagedPoolUsage,
- QuotaPagedPoolUsage, // The current paged pool usage, in bytes
- QuotaPeakNonPagedPoolUsage,
- QuotaNonPagedPoolUsage, // The current nonpaged pool usage, in bytes
- PagefileUsage, // Total amount of memory that the memory manager has committed for the running this process, in bytes
- PeakPagefileUsage
GlobalMemoryStatusEx ()
GlobalMemoryStatusEx () --> returns an array with 7 numbers with used memory info for the system
- MemoryLoad, // approximate percentage of physical memory that is in use (0 indicates no memory use and 100 indicates full memory use)
- TotalPhys, // amount of actual physical memory, in bytes
- AvailPhys, // amount of physical memory currently available, in bytes
- TotalPageFile, // current committed memory limit for the system or the current process, whichever is smaller, in bytes
- AvailPageFile, // maximum amount of memory the current process can commit, in bytes
- TotalVirtual, // size of the user-mode portion of the virtual address space of the calling process, in bytes
- AvailVirtual, // amount of unreserved and uncommitted memory currently in the user-mode portion of the virtual address space of the calling process, in bytes
HMG_GetObjectCount( [ nProcessId ] )
HMG_GetObjectCount( [ nProcessId ] ) --> returns an array of 3 items with information about the number of system objects used for a process { nGDIObjects, nUserObjects, nKernelObjects }
GDI Objects:\___ \_[_https:\/\/msdn.microsoft.com\/en-us\/library\/ms724291(v=vs.85).aspx_](https:\/\/msdn.microsoft.com\/en-us\/library\/ms724291%28v=vs.85%29.aspx)
Bitmap
Brush
DC
Enhanced metafile
Enhanced-metafile DC
Font
Memory DC
Metafile
Metafile DC
Palette
Pen and extended pen
Region
User Objects:\___ \_[_https:\/\/msdn.microsoft.com\/en-us\/library\/ms725486(v=vs.85).aspx_](https:\/\/msdn.microsoft.com\/en-us\/library\/ms725486%28v=vs.85%29.aspx)
Accelerator table
Caret
Cursor
DDE conversation
Hook
Icon
Menu
Window
Window position
Kernel Objects:\___ \_[_https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ms724485(v=vs.85).aspx_](https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ms724485%28v=vs.85%29.aspx)
Access token
Change notification
Communications device
Console input
Console screen buffer
Desktop
Event
Event log
File
File mapping
Find file
Heap
I\/O completion port
Job
Mailslot
Memory resource notification
Module
Mutex
Pipe
Process
Semaphore
Socket
Thread
Timer
Update resource
Window station
NOTE about 32\/64 bit processes, in conventional way:
with apps of 32-bit is possible only get information about of 32-bit processes
with apps of 32-bit is not possible get information about of 64-bit processes
with apps of 64-bit is possible get information about of 32 and 64-bit processes