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();
}
}
它的输出将是这样的。
然后我只修改文本框值,例如 7200,7,Odd,2&硬件。如果单击“更新”按钮,这些值应在我的系统中更改(下图)。
最后,我想在单击更新按钮后按文本框值更改端口设置。我应该怎么做。
答案 0 :(得分: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"
值,而是在文本框中根据用户提供的值构造一个值。