Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」


Since:2000/05/16
TOPページ -> ProgramTips -> RUNDLL.EXEを使ったDLL呼び出しについて

RUNDLL.EXEを使ったDLL呼び出しについて

Windowsフォルダには、RUNDLL.EXEという、そのまま起動しても何の効果もないアプリケーションが存在します。
これは、DLL,OCX,EXEなどのファイルから任意の関数を呼び出すアプリケーションのようで、
RUNDLL.EXEと、RUNDLL32.EXEの2つがあります。
どうやら、後者はRUNDLL.EXEの32Bit版のようですね。(^^;

・・・まぁ、前置きはこのくらいにして、実際にRUNDLL.EXEを使用してみましょう。

exec "rundll rnaui.dll,RnaDial"

この例では、RUNDLL.EXE(rundll)からrnaui.dllを呼び出し、
その中のRnaDial関数を実行します。
この命令を実行すると、ネットワーク接続ダイアログが表示されるはずです。

このように、基本的には、exec "rundll ファイル名,関数名"という感じで記述します。
また、このアプリケーションは、引数を指定したり、戻り値を取得する関数には向きません。(^^;

資料

RUNDLL.EXE及び、RUNDLL32.EXEを使用した関数呼び出し例

ネットワーク接続ダイアログを表示 exec "rundll rnaui.dll,RnaDial"
ダイヤルアップネットワーク接続ウィザードを表示 exec "rundll32 rnaui.dll,RnaWizard"
プリンタの追加ウィザードを表示 exec "rundll32 shell32.dll,SHHelpShortcuts_RunDLL AddPrinter"
ファイルを開くアプリケーションの選択 exec "rundll shell32.dll,OpenAs_RunDLL c:\\windows\\notepad.exe"
(この例では、notepad.exeを開くアプリケーションを選択)
Windowsを終了 exec "rundll user,exitwindows"
Windowsを再起動 exec "rundll user,exitwindowsexec"

コントロールパネル関連
(「rundll shell32.dll,Control_RunDLL」を、「control」に置き換えても動作します。  例:exec "control appwiz.cpl")


コントロールパネルのフォルダ exec "rundll shell32.dll,Control_RunDLL"
アプリケーションの追加と削除のプロパティ exec "rundll shell32.dll,Control_RunDLL appwiz.cpl"
画面のプロパティ exec "rundll shell32.dll,Control_RunDLL desk.cpl"
インターネットのプロパティ exec "rundll shell32.dll,Control_RunDLL inetcpl.cpl"
地域のプロパティ exec "rundll shell32.dll,Control_RunDLL intl.cpl"
ゲームオプション exec "rundll shell32.dll,Control_RunDLL joy.cpl"
マウスのプロパティ exec "rundll shell32.dll,Control_RunDLL main.cpl @0"
キーボードのプロパティ exec "rundll shell32.dll,Control_RunDLL main.cpl @1"
プリンタのフォルダ exec "rundll shell32.dll,Control_RunDLL main.cpl @2"
フォントのフォルダ exec "rundll shell32.dll,Control_RunDLL main.cpl @3"
サウンドとマルチメディアのプロパティ exec "rundll shell32.dll,Control_RunDLL mmsys.cpl"
モデムのプロパティ exec "rundll shell32.dll,Control_RunDLL modem.cpl"
ネットワーク exec "rundll shell32.dll,Control_RunDLL netcpl.cpl"
パスワードのプロパティ exec "rundll shell32.dll,Control_RunDLL password.cpl"
システムのプロパティ exec "rundll shell32.dll,Control_RunDLL sysdm.cpl"
新しいハードウェアの追加ウィザード exec "rundll shell32.dll,Control_RunDLL sysdm.cpl @1"
ダイヤルのプロパティ exec "rundll shell32.dll,Control_RunDLL telephon.cpl"
日付と時刻のプロパティ exec "rundll shell32.dll,Control_RunDLL timedate.cpl"
コントロールパネルの準備中? exec "rundll shell32.dll,Control_FillCache_RunDLL"

TOPページ -> ProgramTips -> RUNDLL.EXEを使ったDLL呼び出しについて
▲このページのTopへ