掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
OpenProcessによるハンドルの取得について (ID:49016)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
何時も参考にさせていただいています。 もんちきTwin Truboと申します。 皆様にご教授いただきたく、書き込みさせていただきます。 現在、OpenProcessを使用して、実行中のプロセスの一覧を取得しようとしています。 作成に当たっては、以下のスレッドを参考にさせていただいています。 https://www.petitmonte.com/bbs/answers?question_id=1652 しかし、期待するように動作しません。 例えば、上記のサンプルでは、メモ帳の起動を検知できません。 原因を調べるため、途中のプロセス一覧を取得する部分で、以下の2行を追加し、値の変化を確認してみました。そうしたところ、インデックスiは正常に増加しますが、hProcessが変化しません。 for i := 0 to NumProcess -1 do begin hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, false, ProcessIDs[i]); ShowMessage(IntToStr(i));//追加 ShowMessage(IntToStr(hProcess));//追加 EnumProcessModules(hProcess,@hModule,SizeOf(hModule),Num4); Num4 := GetModuleBaseName(hProcess,hModule,lpBaseName,100); SetString(s,lpBaseName,Num4); SL.Add(s); CloseHandle(hProcess); end; OSや言語のバージョンの違いによるものでしょうか? OSは64bit Windows7 professional Delphiは7です。 よろしくおねがいします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.