まだlibeay32.dllでお悩みですか?dllpath作った

「序数 2586 がダイナミックライブラリ LIBEAY32.dll から見つかりませんでした。」だの「序数 284 がダイナミックライブラリ SSLEAY32.dll から見つかりませんでした。」だのといったエラーが出ることがあります。PATHの設定等により、想定外のバージョンのDLLを読み込んだため発生することが多いようです。

あるいはなんかインストールしようとしたら誰かがdllを掴みっぱなしでファイルを上書けなかったりとか。そんな時のために、実行中のプロセスがオープンしているdllのフルパスを表示するプログラムを作ってみたした。

実行するとこんな感じ。

C:\>dllpath libeay32.dll
C:\Program Files\PostgreSQL\8.4\bin\LIBEAY32.dll
 <=   5008 C:\Program Files\PostgreSQL\8.3\bin\postgres.exe
...
C:\ruby\bin\LIBEAY32.dll
 <=   5360 C:\ruby\bin\ruby.exe
C:\Program Files\PHP\LIBEAY32.dll
 <=   4368 C:\Program Files\PHP\php.exe

dll名を引数に渡すとそのdllをオープンしているexeの一覧。exeを引数に渡すとそのexeがオープンしているdllの一覧を表示します。

ソースはこちら。MSYSでもVisualStudioでもコンパイルできるんじゃないかと思います。

作ったというか一年前くらいに作ったものを発掘したので、内容はよくわかりません。つーかそもそも何をやったらlibeay32.dllのエラーが出るのかも忘れてしまいました。