RunDLL32.exeの最も役に立たない使い方

RunDll32.exeはDLL内の関数を実行するためのEXEファイルです。

便利な使い方はいくらでもあるのですが、最も役にたたない使い方はこれでしょう。

> rundll32 USER32.dll,SwapMouseButton

関数名の大文字小文字は一致させる必要があります。

実行結果は予想通りだったでしょうが、私がコマンドで元に戻す方法を知らないために、コントロールパネルのマウスをひらかなければならない事も、残念な所です。

# 何となく、役に立たない情報を載せてみたかっただけです。


このまま記事にするのもあんまりなんで、ちょっと補足します。私が実際に使うのは以下の2つ。

■ ハードウェアの取り外し

> rundll32 shell32.dll,Control_RunDLL hotplug.dll

■ Windows Messangerのアンインストール(XP用)

> rundll32 advpack.dll,LaunchINFSection %windir%INFmsmsgs.inf,BLC.Remove

ちなみにWindows 98やME限定の

>rundll32 mouse,disable
>rundll32 keyboard,disable


は面白いけど、シャレにならない。

他にはKB135068, KB192806の「コントロールパネルをコマンドラインで起動する」当たりが有名でしょう。@を使いこなすと、何でもできちゃいますので、これらをファイラ、ランチャ、BATファイル、マクロ等に登録して使います。

じゃ自分の関数もRunDLL32.exeで呼べるのか?という話になりますが、もちろん可能です。しかし、決まった規約で呼ばれるため、以下の形式で宣言する必要があります。

void CALLBACK EntryPoint(HWND, HINSTANCE, LPSTR lpszCmdLine, int);

RunDLL32.exeは関数名を選択できるため、引数の順序と数さえ正しければ、EntryPointの部分は自由に書き換えてもよいです。自分の関数をテストするのに便利だから使っても良いよ、と書いてありました(私はそうは思いませんが)

詳細はKB164787を参照。

Leave a Reply

Be the First to Comment!

Notify of
avatar
wpDiscuz