Windows実行ダイアログボックスはどこにありますか?開いてタスクマネージャーを調べましたが、ファイルエクスプローラーとして表示されます。コマンドライン引数を表示してみましたが、C:\WINDOWS\Explorer.EXE
とは対照的に C:\WINDOWS\Explorer.exe
。 run.exeなどを検索してみましたが、nothingが見つかりました。
Explorer.exeに渡されたコマンドライン引数の可能性があるようですが、確信が持てません。独自のファイルですか?それはExplorer.exeの一部である可能性がありますか?
これは重複する質問であることが示唆されているので、それはそうではないことを説明します。ダイアログが実行可能ファイルを見つける方法を尋ねているのではなく、Run自体がどこにあるのかを尋ねています。
Windowsの[ファイル名を指定して実行]ダイアログボックスは、c:\windows\system32\Shell32.dll
にあるリソースです。
ダイアログは、次のコマンドを実行して開くことができます。
c:\windows\system32\rundll32.exe Shell32.dll,#61
これは、32ビットと64ビットの両方のWindowsで機能します。
そのようなファイルはありません。それは文字通り、他の実行可能ファイルまたはライブラリ内の単なるサブルーチンです(おそらく、Explorer.exe
、またはおそらくShell32.dll
)。
表示されるウィンドウは、実行可能ファイルとは異なります。ウィンドウの描画は関数を呼び出すだけです。表示されるウィンドウごとに1つの.exeがあると想定したり、特定のオプションを実行可能ファイルに渡して特定のウィンドウを表示したりできると仮定する理由はありません。
「実行」ダイアログを使用すると、実際に運がいいかもしれません-これはおそらくShell32.dll
のエクスポートされたシンボル(読み取り:外部から呼び出し可能な関数)であり、次のようなものを使用して呼び出すことができます
rundll32.exe Shell32.dll,#{ID of Symbol}
別のプログラムはありません。関数nbrです。 Shell32.dllの61。
この関数はRunFileDlgと呼ばれ、実行するコマンドとその実行方法を指定する一連の複雑なパラメーターを受け取ります。
Explorer.exe(実際には、スタートメニューの[実行]オプションの処理を含むWindowsデスクトップを処理するアプリケーションです)は、この関数を呼び出してハードワークを行います。
(実際:Explorerは基本的なバリアントのみを呼び出します。関数には、Explorerが実際には使用しないいくつかのオプションがあります。)
独自のプログラムを、Windows DLL関数)を呼び出して自分でRunFileDlgを呼び出すことができる限り、任意のプログラミング言語で作成できます。
そのためのすべてのドキュメントは、Microsoft Technet Webサイトにあります。また、Shell32:RunFileDlgのグーグルを使用すると、その方法を説明する素晴らしい例がたくさん集まります。