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

値は、カンマ区切りの文字列として 1 つのキーに格納されます。

次に、次のようなものを使用できます。

読むには

            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 に答える