1

Process.Startとを使用してCD(または他のメディア)の自動実行をエミュレートする最も近い方法は何ProcessStartInfoですか?

私は次のような明白なことを試みました:

// Just opens the folder
Process.Start("F:");

// Ditto
Process.Start(new ProcessStartInfo("F:") {UseShellExecute = true});

// Throws System.ComponentModel.Win32Exception: No application is associated with the specified file for this operation
Process.Start(new ProcessStartInfo("F:") {UseShellExecute = true, Verb = "autorun"});

明らかにファイルを解析しautorun.infて、関連する実行可能ファイルを作成することはできますが、もっと簡単な方法があるかどうか疑問に思っています。

4

1 に答える 1

0

[ファイルが存在するかどうかを確認してください]

Process.Start(@"F:\autorun.inf");

編集:申し訳ありませんが、自動実行はエクスプローラーの機能のようです。ファイルを自分で解析する必要があります。

Const DVD_DRIVE As String = "E:\"

If IO.File.Exists(DVD_DRIVE & "autorun.inf") Then
    Dim textreader As New IO.StreamReader(DVD_DRIVE & "autorun.inf")
    Dim sLine As String = ""

    sLine = textreader.ReadLine()
    Do While Not String.IsNullOrEmpty(sLine)
        If sLine.StartsWith("open=") Then
            Dim applicationstring As String
            Dim autorunapp As New Process()
            Dim startinfo As ProcessStartInfo

            applicationstring = sLine.Substring(5)

            startinfo = New ProcessStartInfo(DVD_DRIVE & applicationstring)

            startinfo.WorkingDirectory = DVD_DRIVE
            autorunapp.StartInfo = startinfo
            autorunapp.Start()

            Exit Do
        End If

        sLine = textreader.ReadLine()
    Loop

    textreader.Close()
End If
于 2009-07-28T12:39:44.313 に答える