Interaction.Shell メソッドとは? わかりやすく解説

Interaction.Shell メソッド

実行可能プログラム実行しますプログラムがまだ実行中の場合には、プログラムプロセス ID を含む整数値を返します

名前空間: Microsoft.VisualBasic
アセンブリ: Microsoft.VisualBasic (microsoft.visualbasic.dll 内)
構文構文

Public Shared Function Shell
 ( _
    PathName As String, _
    <OptionalAttribute> Optional Style As
 AppWinStyle = AppWinStyle.MinimizedFocus, _
    <OptionalAttribute> Optional Wait As
 Boolean = False, _
    <OptionalAttribute> Optional Timeout As
 Integer = -1 _
) As Integer
Dim PathName As String
Dim Style As AppWinStyle
Dim Wait As Boolean
Dim Timeout As Integer
Dim returnValue As Integer

returnValue = Interaction.Shell(PathName, Style, Wait, Timeout)
public static int Shell
 (
    string PathName,
    [OptionalAttribute] AppWinStyle Style,
    [OptionalAttribute] bool Wait,
    [OptionalAttribute] int Timeout
)
public:
static int Shell (
    String^ PathName, 
    [OptionalAttribute] AppWinStyle Style, 
    [OptionalAttribute] bool Wait, 
    [OptionalAttribute] int Timeout
)
public static int Shell
 (
    String PathName, 
    /** @attribute OptionalAttribute() */ AppWinStyle Style, 
    /** @attribute OptionalAttribute() */ boolean Wait, 
    /** @attribute OptionalAttribute() */ int Timeout
)
public static function Shell
 (
    PathName : String, 
    Style : AppWinStyle, 
    Wait : boolean, 
    Timeout : int
) : int

パラメータ

PathName

必須String実行するプログラムの名前に必要な引数コマンド ライン スイッチ加えたものです。PathName には、ドライブ名ディレクトリ パスまたはフォルダ名も指定できます

プログラムパスわからない場合には、My.Computer.FileSystem.GetFiles メソッド使用するパス調べることができます。たとえば My.Computer.FileSystem.GetFiles("C:\", True, "testFile.txt")呼び出すと、ドライブ C:\ 内で名前が testFile.txt であるすべてのファイルの完全パス返されます。

Style

省略可能。AppWinStyleプログラム実行されるウィンドウスタイル指定する、AppWinStyle 列挙型から選択した値です。Style省略すると、Shell では AppWinStyle.MinimizedFocus使用されます。この場合プログラム最小化し、フォーカスのある状態で起動します。

Wait

省略可能。BooleanShell 関数で、プログラム完了するまで待つかどうかを示す値です。Wait省略した場合Shell では False使用されます。

Timeout

省略可能。IntegerWaitTrue場合に、プログラム完了を待つ時間ミリ秒単位指定する数値です。Timeout省略すると、Shell では -1 が使用されます。この場合タイムアウト発生せずShellプログラム終了するまで値を返しません。したがってTimeout省略するか -1 に設定した場合Shell からプログラム制御返されなくなる可能性あります

戻り値
実行可能プログラム実行しますプログラムがまだ実行中の場合には、プログラムプロセス ID を含む整数値を返します

解説解説

詳細については、Visual BasicトピックShell 関数」を参照してください

Shell 関数戻り値は、Shell が値を返すときに PathName指定されプログラムがまだ実行かどうかによって決まりますWaitTrue設定しているときに、タイムアウト前にプログラム終了した場合Shell は 0 を返しますタイムアウトになった場合、または Wait省略するか、False設定した場合には、Shellプログラムプロセス ID返しますプロセス ID とは、実行中のプログラム識別する一意番号です。

起動失敗
完了待機
終了コード取得

プロセス終了する際、終了コード返す場合あります。しかし、Shell終了待っている場合には 0 を返すため、また、プロセスShell とは別のオブジェクト実行されるため、Shell使用してこの終了コード取得することはできません。

プロセスから終了コード取得するには、そのプロセス開始し終了するまで待つためのコード作成する必要がありますプロセス開始し終了するまで待機して、その終了コード取得する方法次の例に示します

Dim procID As Integer
Dim newProc As Diagnostics.Process
newProc = Diagnostics.Process.Start("C:\WINDOWS\NOTEPAD.EXE")
procID = newProc.Id
newProc.WaitForExit()
Dim procEC As Integer = -1
If newProc.HasExited Then
    procEC = newProc.ExitCode
End If
MsgBox("Process with ID " & CStr(ProcID) & _
    " terminated with exit code " & CStr(procEC))
ファイル指定保護

次の例に示すように、指定するパスファイル名全体引用符で囲む必要があります

ID = Shell("""C:\Program Files\display.exe"" -a -q", , True, 100000)

文字列リテラルの中で隣接する 2 つ二重引用符 (" ") は、文字列内の 1 つ二重引用符として解釈されます。たがって、前の例では Shell 関数次の文字列渡されます。

"C:\Program Files\display.exe" -a -q

パス引用符で囲まなかった場合、C:\Program Files ディレクトリ内の display.exe ではなく、C:\ ディレクトリ内の Program.exe というファイル検索されます。

セキュリティに関するメモセキュリティに関するメモ

指定するパスファイル名引用符で囲まない場合ファイル名またはパス ノード空白含まれているとセキュリティ リスク発生します。前の例の場合パス ノード \Program Files空白含まれています。引用符囲んで指定しなかった場合不正な改変などによって C:\ に Program.exe という名前のプログラムインストールされていると、display.exe ではなくそのプログラム実行されます。

使用例使用例

Shell 関数使用してユーザー指定したアプリケーション実行する例を次に示します2 番目の引数に AppWinStyle.NormalFocus を指定すると、アプリケーション通常のサイズ開き、そこにフォーカス移動します

Dim procID As Integer
' Run calculator.
procID = Shell("C:\Windows\system32\calc.exe", AppWinStyle.NormalFocus)
' The preceding path is for Windows XP.
' The Windows 2000 path is C:\WINNT\system32\calc.exe.
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からInteraction.Shell メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からInteraction.Shell メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からInteraction.Shell メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

Interaction.Shell メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Interaction.Shell メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS