簡體   English   中英

使用C#打開和關閉防火牆

[英]Turn Firewall on and off of using C#

我已經編寫了一個C#程序,該程序使用命令行參數來打開和關閉防火牆。

Process proc = new Process();
string top = "netsh.exe";
proc.StartInfo.Arguments = "**Advfirewall set allprofiles state on**";
proc.StartInfo.FileName = top;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.WaitForExit();
// MessageBox.Show("Disable");
button1.Text = "Set On";
status = false;

我還具有管理員權限運行該應用程序。 該應用程序會自動以管理員權限運行,但不會設置防火牆狀態為開或關。

當我在cmd(netsh)中運行相同的命令時,防火牆已打開或關閉。

有誰知道為什么這不起作用?

運行相同的代碼但刪除**似乎可行。 即您需要更改此:

proc.StartInfo.Arguments = "**Advfirewall set allprofiles state on**";

對此:

proc.StartInfo.Arguments = "Advfirewall set allprofiles state on";

請注意,您應該以管理員身份運行啟動流程的應用程序,並且還可以使用admin身份啟動流程:

proc.StartInfo.Verb = "runas";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM