C# 我写了一个用SSID连接wifi的代码,但我可以';我不明白为什么';它不工作了

C# 我写了一个用SSID连接wifi的代码,但我可以';我不明白为什么';它不工作了,c#,wifi,C#,Wifi,这是一份申请表 我正在使用: using System; using System.Windows.Forms; using System.Diagnostics; using System.Security.Principal; 这是我的代码: Process NewProcess = new Process(); public Form1() { InitializeComponent(); NewProcess.StartInfo

这是一份申请表

我正在使用:

using System;
using System.Windows.Forms;
using System.Diagnostics;
using System.Security.Principal;
这是我的代码:

    Process NewProcess = new Process();

    public Form1()
    {
        InitializeComponent();
        NewProcess.StartInfo.UseShellExecute = false;
        NewProcess.StartInfo.CreateNoWindow = true;
        NewProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
    }
检查用户是否为管理员

    public bool IsUserAdmin()
    {
        bool isAdmin;
        try
        {
            WindowsIdentity user = WindowsIdentity.GetCurrent();
            WindowsPrincipal principal = new WindowsPrincipal(user);
            isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
        }
        catch(UnauthorizedAccessException)
        {
            isAdmin = false;
        }
        catch(Exception)
        {
            isAdmin = false;
        }
        return isAdmin;

    }
停止广播

    public void StopBroadcasting()
    {
        NewProcess.StartInfo.FileName = "netsh";
        NewProcess.StartInfo.Arguments = "wlan Stop hostednetwork";
        try
        {
            using (Process execute = Process.Start(NewProcess.StartInfo))
            {
                execute.WaitForExit();
                SetLanDetails();
            }
        }
        catch
        {

        }
    }
    public void StartBroadcasting()
    {
        NewProcess.StartInfo.FileName = "netsh";
        NewProcess.StartInfo.Arguments = "wlan start hostendnetwork";
        try
        {
            using (Process execute = Process.Start(NewProcess.StartInfo))
            {
                execute.WaitForExit();
                buttonStart.Text = "Stop";
            }
        }
        catch
        {

        }
    }
设置局域网详细信息

    public void SetLanDetails()
    {
        NewProcess.StartInfo.FileName = "netsh";
        NewProcess.StartInfo.Arguments = "wlan set hostednetwork mode=allow ssid="+textBox1.Text+" key="+ textBox2.Text;
        try
        {
            using (Process execute = Process.Start(NewProcess.StartInfo))
            {
                execute.WaitForExit();
                StartBroadcasting();
            }
        }
        catch
        {

        }
    }
开始广播

    public void StopBroadcasting()
    {
        NewProcess.StartInfo.FileName = "netsh";
        NewProcess.StartInfo.Arguments = "wlan Stop hostednetwork";
        try
        {
            using (Process execute = Process.Start(NewProcess.StartInfo))
            {
                execute.WaitForExit();
                SetLanDetails();
            }
        }
        catch
        {

        }
    }
    public void StartBroadcasting()
    {
        NewProcess.StartInfo.FileName = "netsh";
        NewProcess.StartInfo.Arguments = "wlan start hostendnetwork";
        try
        {
            using (Process execute = Process.Start(NewProcess.StartInfo))
            {
                execute.WaitForExit();
                buttonStart.Text = "Stop";
            }
        }
        catch
        {

        }
    }
停止进程

    public void StopProcess()
    {
        NewProcess.StartInfo.FileName = "netsh";
        NewProcess.StartInfo.Arguments = "wlan stop hostendnetwork";
        try
        {
            using (Process execute = Process.Start(NewProcess.StartInfo))
            {
                execute.WaitForExit();
            }
        }
        catch
        {

        }
    }
开始按钮点击

    private void buttonStart_Click(object sender, EventArgs e)
    {
        if(buttonStart.Text=="Start")
        {
            StopBroadcasting();
            buttonStart.Text = "Stop";
        }
        else
        {
            StopProcess();
            buttonStart.Text = "Start";
        }

    }

我不明白为什么它不起作用。我忘了什么吗?我没有找到这样做的原因。

有人知道它为什么不工作?我会从检查trycatch子句实际捕获的内容开始…我在每段代码后添加MessageBox,我可以看到代码从头到尾都完成了。