USBシリアルアダプタのポート番号を変更する必要があります。次に、portName/COM番号をCOM11に変更する必要があります。 。C#指定されたCOMポートに変更する方法
私はまさにこの必要がありますが、C#のコードによって:
[マイコンピュータ] - > [管理] - > [デバイスマネージャ] - > [ポート] - > [通信ポート] - > [ポート設定 - >詳細設定 - > COMポート番号
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\WMI",
"SELECT * FROM MSSerial_PortName");
foreach (ManagementObject queryObj in searcher.Get())
{
//If the serial port's instance name contains USB
//it must be a USB to serial device
if (queryObj["InstanceName"].ToString().Contains("USB"))
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("MSSerial_PortName instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("InstanceName: {0}", queryObj["InstanceName"]);
Console.WriteLine(queryObj["PortName"] + "is a USB to SERIAL adapter/converter");
string port = queryObj["PortName"].ToString();
SerialPort p = new SerialPort(port);
//p.PortName = "COM11";
return port ;
}
}
throw new Exception(Messages.PINPAD_NOT_FOUND);
}
p.PortNameをコメントアウトした場所を設定している場合は、コメントを外してp.PortName ..を返そうとしましたか?あなたのメソッドの内部にも戻り値の型は何ですか?あなたは完全なメソッドを表示できますか? – MethodMan
プリンタのポートを変更するなど、このようなことをするときに.Put();があります。メソッドは、p.Put()があるかどうかを確認することができます。ポート番号 – MethodMan
を返す前に、p.PortName = "COM11"は機能しません。 SerialPortには.Put()などのメソッドはありません。設定を更新するためにいくつかのコドーが必要です。 –