4.8.1起動しているプロセスとそのファイル名を列挙したいのですが、うまくいきません。EnumProcessModulesを使ったところ、「ハンドルが無効です。」と出て、サクラエディタなどの32ビットアプリケーションも含めてOpenProcessに成功しても1件もモジュールの列挙に成功しませんでした。0;}QueryFullProcessImageNameを使うとexplorer.exeの名前を取得しようとしたところで強制終了しました。0;}管理者として実行しても結果は同様でした。全部のプロセスについて取得したいとは言いませんが、取得できるものは取得し、強制終了しないようにしたいです。これらのコードのどこが悪く、どう改善すればいいのでしょうか?よろしくお願いします。最初のコードの71行目,getModule呼び出しの第一引数と第二引数が逆になっていますありがとうございます。そこを修正したところ、情報は出るようになりましたが、DLLと列挙プログラムのexeしか出ず、目的は達成できないようです。引き続き2番めと3番めのプログラムの強制終了の回避方法を募集します。4年前ずらーっとソースを眺めただけで、コンパイルなどはしていませんが。C言語内部で使われる呼び出し規約と、DLLで使われる呼び出し規約の違いが原因だと思いますよ。2個目のソースの30行目。*qfpin_ptr)(HANDLE,DWORD,char*,PDWORD);とでもすればおそらく大丈夫なはずです。インポートライブラリが用意されているはずですので、それを利用した方がスマートだと思いますよ。長期間放置してしまい、すみませんでした。読んでみましたが、どの辺が有益な情報かよくわかりませんでした。ソースを眺めただけで、コンパイルなどはしていませんが。C言語内部で使われる呼び出し規約と、DLLで使われる呼び出し規約の違いが原因だと思いますよ。2個目のソースの30行目。*qfpin_ptr)(HANDLE,DWORD,char*,PDWORD);とでもすればおそらく大丈夫なはずです。ありがとうございます。管理者として実行(管理者として実行したコマンドプロンプト上で実行)としたところ、ほぼ全てのプロセスの実行ファイルのパスを取得できたようです。解決となっていますが,一点。