[英]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.