0
public partial class MainWindow : Window
{
    public MainWindow()
    {
        this.InitializeComponent();

                SerialPort MySerialPort = new SerialPort();

                txt_1.Text = MySerialPort.BaudRate.ToString();
                txt_2.Text = MySerialPort.DataBits.ToString();
                txt_3.Text = MySerialPort.Parity.ToString().ToUpper();
                txt_4.Text = MySerialPort.StopBits.ToString().ToUpper();
                txt_5.Text = MySerialPort.Handshake.ToString();
    }
}

它的输出将是这样的。 输出1

然后我只修改文本框值,例如7200,7,Odd,2 & Hardware .如果单击更新按钮,这些值应该在我的系统中更改(下图)。 在此处输入图像描述

最后,我想在单击更新按钮后通过文本框值更改端口设置。我该怎么做。

4

1 回答 1

2

这些设置存储在注册表中

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports

这些值作为逗号分隔的字符串存储在单个键中。

你可以使用这样的东西:

阅读_

            Microsoft.Win32.RegistryKey myKey = 
                Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Ports", true);
            string settings = myKey.GetValue("COM3:");

_

            Microsoft.Win32.RegistryKey myKey = 
                Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Ports", true);
            myKey.SetValue("COM3:", "9600,n,8,1");

"9600,n,8,1"但是,您可以从文本框中的用户提供的值构造一个值,而不是编写硬编码值。

于 2012-07-14T22:10:41.537 回答