3

インターネットのプロパティ ウィンドウを開く可能性はありますか..
コード:

System.Diagnostics.Process p;
p = System.Diagnostics.Process.Start("InetCpl.Cpl", ",4");

..ユーザーが閉じるまで待ちますか?(そして、インターネット接続を確認して続行します)

このコードは機能しません:

p.WaitForExit();

この問題は、エクスプローラー ウィンドウを開いて閉じるのを待つことに関連していると思いますが、これに対する解決策には、Windows エクスプローラー ブラウザー ウィンドウに固有のヒントのみが含まれています。

C#でこれを行うことはできますか?

解決策
誰かがここに (ほんの一瞬だけ) 以下の完全なコマンドを入れて、[インターネット プロパティ] ウィンドウを開く方法を示します。

C:\Windows\system32\rundll32.exe C:\Windows\system32\shell32.dll,Control_RunDLL C:\Windows\system32\inetcpl.cpl,,4

私はそれを試してみました..そして本当に..それは動作します!

System.Diagnostics.Process p;
p = System.Diagnostics.Process.Start("rundll32.exe",
    @"C:\Windows\system32\shell32.dll,Control_RunDLL"
    + " C:\Windows\system32\inetcpl.cpl,,4");
p.WaitForExit();
MessageBox.Show("Properties closed");

プロパティ ウィンドウを閉じた後にのみ、「プロパティが閉じられました」というメッセージが表示されます。
PIDは必要ありません..簡単で完全にエレガントなソリューションです。
このコマンドで元の応答を書いたユーザーが再度それを書いた場合、私は彼の解決策を受け入れます。

4

1 に答える 1

3

以下のコードを使用して、別のプロセスでコントロール パネルを開きます。

System.Diagnostics.Process.Start(@"C:\Windows\system32\rundll32.exe"
    , @"C:\Windows\system32\shell32.dll,Control_RunDLL"
    + " C:\Windows\system32\inetcpl.cpl,,4");

そして、あなたはすることができますWaitForExit();

于 2013-07-09T16:20:23.277 に答える