1

私は時々システムのIPアドレスを更新しなければならないWindowsサービスを書いています、そしてそれはそれをするためにipconfig/renewを呼び出すでしょう。コードは次のようになります

            Process ipconfigProcess = new Process();                
            ipconfigProcess.StartInfo.FileName = "ipconfig";
            ipconfigProcess.StartInfo.Arguments = " /renew";
            ipconfigProcess.StartInfo.UseShellExecute = false;
            ipconfigProcess.StartInfo.RedirectStandardOutput = true;
            ipconfigProcess.Start();
            strOutput = compiler.StandardOutput.ReadToEnd();
            ipconfigProcess.WaitForExit();

WindowsサービスはWindows/ダイアログを表示することを許可されていないと思います。だから私の質問は、上記のようにIPを更新すると、ipconfigを実行するためのコンソールが表示される場合と表示されない場合があるため、Windowsサービスで問題になるかどうかです。

4

3 に答える 3

1

直面する唯一の問題はアクセス許可の問題だと思います-このようなプロセスを実行するのに問題はないはずです(どの種類のUIとも対話したくない限り)が、Windowsサービスはプロセスを生成してipconfigを実行できるアカウントとして実行します。

于 2013-03-20T22:26:27.770 に答える
0

これには、cmd.exeのインスタンスは必要ありません。多くのコマンドラインアプリケーションがこの方法で使用されます。

于 2013-03-20T22:19:15.457 に答える
-1

サービスは、GUI機能を使用したり、コンソールを作成したりできます。Windowsは、必要に応じて描画するためのダミーの表示面を作成します。(明らかに、このダミーサーフェスはユーザーと対話できません。)

于 2013-03-22T02:06:35.960 に答える