2017-02-13 6 views
0

デバイスマネージャのポートコムの設定を変更しましたが、シリアルポートクラスとWMI APIクラスWin32_SerialPortConfigurationがこのポートcomのデフォルト設定を返し続けます。 WMI APIおよびSerialPortクラスがポートcomのデフォルト設定を返すのはなぜですか?

enter image description here
+0

USBエミュレータドライバは、この権利を取得することはできません。それは重要ではありません、MS-DOSをもう使用していません。 4つのdatabitsが正しいとは限りません。私が知っているUARTはこれをサポートしていません。 7または8は正常な値です。 –

+0

常にデフォルト値を返すだけでなく、System.IO.Ports.SerialPortクラスでもあります。そして設定値については、今のところ自分のコードをテストするために変更しただけです。 –

+0

これは予想通り、彼らはまったく同じ設定を見ます。それがフレークであるときにそれに頼らないでください。エミュレータの製造元とモデルに応じて、このプロパティシートを使用することはできません。 –

答えて

0
using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Ports")) 
     { 
      foreach (string name in ndpKey.GetValueNames()) 
      { 
       if (name.Remove(name.IndexOf(":")).ToLower().Equals(ComName.ToLower())) 
       { 
        var tempArray = ndpKey.GetValue(name).ToString().Split(','); 
        int speed = 0; 
        char parity = ' '; 
        int dataBits = 0; 
        Decimal stopBit = 0; 
        string parityS =""; 
        ComSettings.Add("Name", ComName); 
        if ((Int32.TryParse(tempArray[0], out speed)) && (Int32.TryParse(tempArray[2], out dataBits)) && (Decimal.TryParse(tempArray[3].Replace(".", ","), out stopBit)) && (Char.TryParse(tempArray[1], out parity))) 
        { 

         ComSettings.Add("Speed", speed); 
         ComSettings.Add("DataBits", dataBits); 
         ComSettings.Add("StopBits", stopBit); 
         switch (parity) 
         { 
          case 'e': 
           parityS = "Even"; 
           break; 
          case 'n': 
           parityS = "None"; 
           break; 
          case 'o': 
           parityS = "Odd"; 
           break; 
          case 'm': 
           parityS = "Mark"; 
           break; 
          case 's': 
           parityS = "Space"; 
           break; 
         } 
         ComSettings.Add("Parity", parityS); 
        } 
        break; 
       } 
      } 
     } 

このコードは、それがデバイスマネージャにセットのようにポートCOMの状態を返します。

関連する問題