Windows 9x を普段から使っている友人であれば、Rundll32.exe と Rundll.exe という 2 つのファイルをよく知っているはずですが、これら 2 つのプログラムはもともと Microsoft 社内での使用に限定されていたため、使い方をよく知っている人は少ないはずです。彼ら。 。まあ、まだ知らないなら、教えてあげましょう。
まず、小さな実験を行ってください (実行中のプログラムの結果を事前に保存してください。そうでない場合は...): 「スタート」-「プログラム」-「Ms-Dos モード」をクリックし、Dos ウィンドウに入り、「rundll32. exeuser.exe,restartwindows」と入力し、Enter キーを押します。この時点で、マシンが再起動されたことがわかります。どうでしょうか?
もちろん、Rundll の機能は単にマシンを再起動するだけではありません。実際、Rundll はその名前が示すように、Dll を実行します。その機能は、コマンド ラインを通じて Windows ダイナミック リンク ライブラリを呼び出すことです。Rundll32.exe と Rundll.exe の違いは、前者が 32 ビット リンク ライブラリを呼び出すことです。後者は 16 ビット リンク ライブラリに適用され、コマンド形式は次のとおりです。
RUNDLL.EXE、<エントリ ポイント>、<呼び出しパラメータ>
ここで次の 3 つの点に注意してください。 1. DLL ファイル名にはスペースを含めることはできません。たとえば、ファイルは c:/PROgramFiles/ ディレクトリにあります。このパスは c:/Progra~1/ に変更する必要があります。 DLL ファイル名と DLL エントリ ドットの間にはカンマを少なくしてはいけません。そうしないと、プログラムでエラーが発生し、情報が表示されません。 3. これが最も重要な点です。Rundll を使用して、Win32API の GetUserName()、GetTextFace() などの戻り値パラメータを含む DLL を呼び出すことはできません。 Visual Basic では、外部プログラムを実行するための命令シェルが提供されます。その形式は次のとおりです。
シェルの「コマンドライン」
Rundll32.exe で Shell コマンドをうまく使用できれば、VB プログラムは、他の方法では実現が難しい、または不可能な効果を得ることができます。依然として再起動を例に挙げていますが、従来の方法では VB でモジュールを作成する必要があります。まずプロジェクトを作成し、次に WinAPI の宣言を入力し、最後にプログラム内で呼び出します。しかし、今は 1 つの文だけで済みます。
シェル「rundll32.exeuser.exe,restartwindows」が完了しました。もっと便利ではないでしょうか?
実際、Rundll32.exe には、Windows のさまざまなコントロール パネルやシステム オプションを呼び出す際に独自の利点があります。以下に、私がインターネット上で収集した Rundll 命令をリストします (非常に便利で、Windows API を呼び出す時間を大幅に節約できます!!)。誰もがプログラミングで参照できるようにします。
コマンドライン: rundll32.exeshell32.dll、Control_RunDLL
機能: ディスプレイコントロールパネル
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,1
機能: 「コントロールパネル-アクセシビリティオプション-キーボード」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,2
機能: 「コントロールパネル-アクセシビリティオプション-サウンド」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,3
機能: 「コントロールパネル-アクセシビリティオプション-表示」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,4
機能: 「コントロールパネル-アクセシビリティオプション-マウス」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,5
機能: 「コントロールパネル-アクセシビリティオプション-全般」オプションウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl@1
機能: 「コントロール パネル - 新しいハードウェアの追加」ウィザードを実行します。
コマンド ライン: rundll32.exeshell32.dll、SHHelpShortcuts_RunDLLAddPrinter
機能: 「コントロール パネル - 新しいプリンターの追加」ウィザードを実行します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLappwiz.cpl,,1
機能: 「コントロールパネル-プログラムの追加と削除-インストールとアンインストール」パネルを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLappwiz.cpl,,2
機能: 「コントロール パネル - プログラムの追加と削除 - Windows のインストール」パネルを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLappwiz.cpl,,3
機能: 「コントロールパネル-プログラムの追加と削除-起動ディスク」パネルを表示します。
コマンド ライン: rundll32.exesyncui.dll、Briefcase_Create
機能: デスクトップに新しい「My Briefcase」を作成します。
コマンドライン: rundll32.exediskcopy.dll、DiskCopyRunDll
機能: フロッピーディスクのコピーウィンドウを表示します。
コマンド ライン: rundll32.exeapwiz.cpl,NewLinkHere%1
機能: [ショートカットの作成] ダイアログ ボックスを表示します。作成されたショートカットの場所は %1 パラメータによって決まります。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLtimedate.cpl,,0
機能: 「日付と時刻」オプションウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLtimedate.cpl,,1
機能: 「タイムゾーン」オプションウィンドウを表示します。
コマンド ライン: rundll32.exernaui.dll、RnaDial [ダイヤルアップ接続の名前]
機能: ダイヤルアップ接続のダイヤルアップ ウィンドウを表示します。ダイヤルアップ接続がある場合は、現在の接続ステータスウィンドウが表示されます。
コマンドライン: rundll32.exernaui.dll、RnaWizard
機能: 「新しいダイヤルアップ接続」ウィザードの画面を表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,0
機能: 「表示プロパティ - 背景」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,1
機能:「画面のプロパティ - スクリーンセーバー」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,2
機能: 「表示プロパティ - 外観」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,3
機能: 「表示プロパティ - プロパティ」オプションウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll、SHHelpShortcuts_RunDLLFontsFolder
機能: Windows の「フォント」フォルダーを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@3
機能: Windows の「フォント」フォルダーも表示します。
コマンドライン: rundll32.exeshell32.dll、SHFormatDrive
機能: フロッピーディスクのフォーマットダイアログボックスを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLjoy.cpl,,0
機能: 「コントロールパネル-ゲームコントローラ-全般」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLjoy.cpl,,1
機能: 「コントロールパネル-ゲームコントローラ-詳細設定」オプションウィンドウを表示します。
コマンド ライン: rundll32.exemshtml.dll、PrintHTML (HTML ドキュメント)
機能: HTML ドキュメントを印刷します。
コマンドライン: rundll32.exeshell32.dll、Control_RunDLLmlcfg32.cpl
機能: Microsoft Exchange の一般オプション ウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@0
機能: 「コントロール パネル - マウス」オプションを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@1
機能: 「コントロールパネル-キーボードのプロパティ-速度」オプションウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@1,,1
機能: 「コントロールパネル-キーボードのプロパティ-言語」オプションウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@2
機能: Windows の「プリンター」フォルダーを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@3
機能: Windows の「フォント」フォルダーを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@4
機能: 「コントロールパネル-入力メソッドのプロパティ-入力メソッド」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll、Control_RunDLLmodem.cpl、、add
機能: 「新しいモデムの追加」ウィザードを実行します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl,,0
機能: 「コントロール パネル - マルチメディアのプロパティ - オーディオ」プロパティ ページを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl,,1
機能: 「コントロール パネル - マルチメディア プロパティ - ビデオ」プロパティ ページを表示します。
コマンド ライン: rundll32.exeshell32.dll、Control_RunDLLmmsys.cpl,,2
機能: 「コントロールパネル-マルチメディアプロパティ-MIDI」プロパティページを表示します。
コマンド ライン: rundll32.exeshell32.dll、Control_RunDLLmmsys.cpl,,3
機能: 「コントロール パネル - マルチメディアのプロパティ - CD ミュージック」プロパティ ページを表示します。
コマンド ライン: rundll32.exeshell32.dll、Control_RunDLLmmsys.cpl,,4
機能: 「コントロール パネル - マルチメディア プロパティ - デバイス」プロパティ ページを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl@1
機能:「コントロールパネル-サウンド」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll、Control_RunDLLnetcpl.cpl
機能: 「コントロールパネル-ネットワーク」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll、Control_RunDLLodbccp32.cpl
機能: ODBC32 データ管理オプションウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll,OpenAs_RunDLL{ドライブ:/パス/ファイル名}
機能: 指定したファイル(ドライブ:/パス/ファイル名)の「プログラムから開く」ダイアログボックスを表示します。
コマンドライン: rundll32.exeshell32.dll、Control_RunDLLpassWord.cpl
機能: 「コントロールパネル-パスワード」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll、Control_RunDLLpowercfg.cpl
機能: 「コントロールパネル-電源管理のプロパティ」オプションウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll、SHHelpShortcuts_RunDLLPrintersFolder
機能: Windows の「プリンター」フォルダーを表示します。 (rundll32.exeshell32.dll,Control_RunDLLmain.cpl@2と同じ)
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,0
機能: 「コントロールパネル-地域設定のプロパティ-地域設定」オプションウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,1
機能: 「コントロールパネル-地域設定のプロパティ-番号」オプションウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,2
機能: 「コントロールパネル-地域設定のプロパティ-通貨」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,3
機能: 「コントロールパネル-地域設定のプロパティ-時間」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLintl.cpl,,4
機能: 「コントロールパネル-地域設定のプロパティ-日付」オプションウィンドウを表示します。
コマンド ライン: rundll32.exedesk.cpl,InstallScreenSaver[スクリーン セーバー ファイル名]
機能: 指定したスクリーン セーバー ファイルを Windows スクリーン セーバーとして設定し、スクリーン セーバーのプロパティ ウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,0
機能: 「コントロールパネル-システムのプロパティ-全般」プロパティウィンドウを表示します。
コマンド ライン: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,1
機能: 「コントロールパネル-システムのプロパティ-デバイスマネージャー」のプロパティウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,2
機能: 「コントロールパネル-システムのプロパティ-ハードウェア構成ファイル」プロパティウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,3
機能: 「コントロールパネル-システムのプロパティ-パフォーマンス」プロパティウィンドウを表示します。
コマンドライン: rundll32.exeuser.exe、restartwindows
機能: すべてのプログラムを強制的に終了し、マシンを再起動します。
コマンドライン: rundll32.exeuser.exe,exitwindows
機能: すべてのプログラムを強制的に終了し、コンピューターをシャットダウンします。
コマンドライン: rundll32.exeshell32.dll、Control_RunDLLtelephon.cpl
機能: 「ダイヤルアップのプロパティ」オプションウィンドウを表示します。
コマンドライン: rundll32.exeshell32.dll、Control_RunDLLthemes.cpl
機能: 「デスクトップテーマ」オプションパネルを表示します。
もちろん、VisualBasic だけでなく、Delphi.VisualC++ などの他のプログラミング言語でも、外部コマンドを呼び出すことで Rundll のこれらの機能を使用できます。具体的な方法については、ここでは詳しく説明しません。 Rundll を柔軟に使用すると、プログラミングが確実に容易になり、半分の労力で 2 倍の結果を達成できるようになります。 ->