void
ShowProcess() { HANDLE hSnapShot; // スナップショット PROCESSENTRY32 pEntry; //
プロセスエントリ FILE *fp; // ファイルポインタ
hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPALL,0); // システムのスナップショットを取得 pEntry.dwSize
=sizeof(pEntry); //
プロセスントリの前処理(Process32Firstを呼ぶために必要) //
最初のプロセスの取得(Process32Nextを呼ぶために必要) Process32First
(hSnapShot,&pEntry);
//
ファイルオープン(プロセス情報記録用) fp =
fopen("proc.dat","w");
while(1) { BOOL hRes =
Process32Next (hSnapShot,&pEntry); //
プロセスの取得
//
プロセスが取得できなかったらLoopを抜ける if(hRes == FALSE) break;
//
プロセス情報の書き込み fprintf(fp,"[Exec] = %s\n",pEntry.szExeFile);
//
Exeファイル名 fprintf(fp,"[ProcessID] =
%d\n",pEntry.th32ProcessID); //
プロセスID fprintf(fp,"[Thread] =
%d\n",pEntry.cntThreads); //
スレッド fprintf(fp,"[ParentProcessID] =
%d\n",pEntry.th32ParentProcessID); //
親プロセスID fprintf(fp,"[Priority] =
%d\n",pEntry.pcPriClassBase); //
優先度 fprintf(fp,"\n"); } fclose(fp); }
|