誰が私のCOMポートをロックしているかを把握しようとしています。検索しようとしましたが、それを理解する方法を見つけることができませんでした。 XPを使用しています。
'Process Explorer'ユーティリティが同じものを提供するかどうか疑問に思っていましたが、役立つものを見つけることができませんでした。
システムの特定のCOMポートに関連付けられているすべてのアプリケーションを表示するコマンドはありますか?
ありがとう
はい、 Process Explorer では、ポートを使用するアプリケーションには、\Device\SerialN
という「ファイル」ハンドルがあります。ここで、Nはゼロベースのインデックスです。
更新:
「serialN」の「N」はCOMポート番号ではなく、アクティブなポートのリストへのインデックスです。使用しているポートが1つしかない場合は、常に(?)が「serial0」になり、2番目に開くポートが「serial1」になります。逆の順序で開くと、番号が逆になります。
QueryDosDevice APIを確認してください。 COM1 ... COMを反復処理できるはずですか?開いているポートごとに「\ device\serialN」エントリを取得します。私はこれを行うユーティリティを知りません、あなたはあなた自身を転がす必要があるかもしれません。
よりCOMポート固有の例があります ここ 。