1

我正在编写一个 Windows 服务,它偶尔需要更新系统的 IP 地址,它会调用 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 ?

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 回答