0

アプリケーションのWMIクエリの開発に取り組んでいます。特定のVID/PIDに割り当てられた仮想COMポートを見つける必要があります。私のクエリは現在次のようになっています。

"SELECT DeviceID FROM Win32_SerialPort WHERE PNPDeviceID = \"USB\\VID_10C4&PID_EA60\\0001\""

私の研究に基づいて、それは戻るはず"COM8"です。しかし、私は空のセットを取得しています。

文字列の比較はWQLで有効ですか?私が覚えているように、SQLはそれらを許可しますが、サブセットであるため、それらのサポートが引き継がれたかどうかはわかりません。

必要に応じて、クエリを実行"SELECT DeviceID,PNPDeviceID FROM Win32_SerialPort"してから、コードで文字列比較を使用して結果を解析できると思いますが、可能であれば、クエリの結果を制限することをお勧めします。

さらに、文字列比較が実際にWQLでサポートされているかどうか、大文字と小文字を区別するか、大文字と小文字を指定する方法があるかどうか疑問に思いました。

ありがとう。

4

1 に答える 1

2

私はこれを使用しました(C#):

"Select * From Win32_SerialPort Where PnPDeviceId = \"PCI\\\\VEN_14F1&DEV_2F30&SUBSYS_205D14F1&REV_01\\\\4&1F7DBC9F&0&10F0\""

WMIのためにバックスラッシュを1回エスケープし、C#のためにもう一度バックスラッシュをエスケープする必要があったため、クエリで4倍のバックスラッシュを使用して終了しました。

于 2010-10-30T12:54:32.353 に答える