1

私はこのコードを使用しています:

Process p = new Process();
ProcessStartInfo si = new ProcessStartInfo();
si.UseShellExecute = true;
si.FileName = Url;
p = Process.Start(si);
p.WaitForExit();

デフォルトのブラウザで「URL」を開く。ユーザーがそのブラウザーを閉じてから、さらにコードを実行するのを待ちたいと思います。しかし、IE (デフォルトのブラウザー) で Url を開いた後、オブジェクトのインスタンスに設定されていないオブジェクト参照がスローされ、強調表示されます。

p.WaitForExit();

何が問題ですか?終わるまで待ちたいと思います。アドバイスをありがとう。

4

2 に答える 2

2

ProcessStartInfo.FileNameは、開始するアプリケーションまたはドキュメントを取得または設定します。私が行ったことは、FileName でアプリケーション パスを渡したので、Process.Start が作成されると、Arguments が検索され、あなたのケースではインスタンスが作成されません。

Process p = new Process();
ProcessStartInfo si = new ProcessStartInfo();
p.StartInfo = si;
si.UseShellExecute = true;
si.FileName = @"C:\Program Files (x86)\Internet Explorer\iexplore.exe";
si.Arguments = "http://www.stackoverflow.com";
p.Start();
p.WaitForExit();
于 2012-07-19T20:24:04.423 に答える
0
Process.Start(new ProcessStartInfo()
            {
                UseShellExecute = true,
                FileName = "http://google.com",                
            }).WaitForExit();
于 2012-07-19T19:56:53.450 に答える