Win32 Get Process List
Win32 Get Process List
سلام دوست عزیز
اول يه پروژه
Win32 Console Application
ايجاد کنيد:
به اين هدر ها نياز داريد:
کد:
[LEFT]#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
[/LEFT]
به handle ها و متغییر زير نياز داريد:
کد:
[LEFT] HANDLE hProcessSnap;
HANDLE hProcess;
PROCESSENTRY32 pe32;
[/LEFT]
يه snapshot با استفاده از تابع زير از فرايند هاي خود برداريد
کد:
[LEFT] hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
if( hProcessSnap == INVALID_HANDLE_VALUE )
{
//Error
return( FALSE );
}
[/LEFT]
قبل از اينکه از متغيير pe32 استفاده کنيد سايز اونو مشخص کنيد.
کد:
[LEFT] pe32.dwSize = sizeof( PROCESSENTRY32 );
[/LEFT]
حلا اطلاعات اولين فرايند رو بخونيداگه تونستيد بقيه رو هم مي تونيد اگه نتونستيد بقيه رو هم نمي تونيد و بايد دوباره retry کنيد.
کد:
[LEFT] if( !Process32First( hProcessSnap, &pe32 ) )
{
// Error
CloseHandle( hProcessSnap ); // clean the snapshot object
return( FALSE );
}
[/LEFT]
حالا مي تونيددر بين پروسس هايي که ازشون snapshot پرفتيد حرکت کنيد و اسم هاشون و بیرون بکشید
کد:
[LEFT] do
{
_tprintf( TEXT("\n\rPROCESS NAME: %s"), pe32.szExeFile );
} while( Process32Next( hProcessSnap, &pe32 ) );
[/LEFT]
شي snapshot را ببنديد
کد:
[LEFT] CloseHandle( hProcessSnap );
[/LEFT]
