0
에 명령 줄 인수를 사용하는 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)에서 동일한 명령을 실행하면 방화벽이 켜지거나 꺼집니다.
왜 이것이 작동하지 않는지 아는 사람이 있습니까?
확실한 것은 '**'입니다. 당신이 그들을 제거하면 어떻게됩니까? –
예외가 있습니까? 오류 코드? –
이 명령은'netsh advfirewall allprofiles state on on'이므로'**'https://technet.microsoft.com/en-us/library/dd772588을 제거하십시오. – Slai