アンケート一覧ページでアンケートを探す

実行ファイル名からプロセス名を取得する

C言語関連20,703閲覧xmlns="http://www.w3.org/2000/svg">50

新機能 AI回答テストを実施中! テスト対象カテゴリ:歴史・悩み相談 ※回答がつかない場合は、画面のリロードをお試しください

ベストアンサー

このベストアンサーは投票で選ばれました

NEW! この回答はいかがでしたか? リアクションしてみよう

その他の回答(1件)

ID非表示

2008/11/24 23:17(編集あり)

調べてみたよ。できるみたい。 システム内で動いてる全部のプロセスの中から探すやり方だけどね。 ★ CreateToolhelp32Snapshot 関数 … システムの状態をスナップショット写真としてパシャリと撮る ★ Process32First関数, Process32Next関数 … スナップショット写真から、プロセスの情報を取り出してくる。最初の一回目が First の方つかって、それ以降は Next の方使う。 で、プロセスの情報は PROCESSENTRY32構造体 でやり取りするらしいよぉ。 その構造体の szExeFile メンバーにファイル名のフルパスがあるし、th32ProcessID メンバーには プロセスID があるよぉ。 あ、それから、スナップショット写真は、使い終わったら、CloseHandle 関数で閉じなきゃだよ。ファイルの fopen と fclose みたいにねぇ。 ────────────────────────────── #include "tlhelp32.h" HANDLE hSnapshot = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, 0) ; PROCESSENTRY32 pe32 ; pe32.dwSize = sizeof pe32 ; if (Process32First (hSnapshot, &pe32)) .... { .... do {printf ("プロセスID=%ld, ファイル名=%s\n", pe32.th32ProcessID, pe32.szExeFile) ;} .... while (Process32Next (hSnapshot, &pe32)) ; .... } CloseHandle (hSnapshot) ; ────────────────────────────── ★ 参考 「Win32 API でアプリケーションを列挙する方法」 - Microsoft サポート オンライン http://support.microsoft.com/kb/175030/ja