.NET 3.5 フレームワークで開発された産業オートメーション アプリケーションがあります。
ユーザーがコンピュータで使用できるシリアル ポートを一覧表示する必要があります。この一環として、シリアル ポートのいずれかが既に開いている場合、「使用中」ステータスを表示する必要があります。私はグーグルを試しましたが、うまくいきませんでした。
誰か助けてくれませんか?
よろしく、
クリシュギー
.NET 3.5 フレームワークで開発された産業オートメーション アプリケーションがあります。
ユーザーがコンピュータで使用できるシリアル ポートを一覧表示する必要があります。この一環として、シリアル ポートのいずれかが既に開いている場合、「使用中」ステータスを表示する必要があります。私はグーグルを試しましたが、うまくいきませんでした。
誰か助けてくれませんか?
よろしく、
クリシュギー
com ポートを排他ロックで開いてみてください。失敗した場合は、開いているというフラグを立てます。
システムで開いているすべてのハンドルを見つけるための文書化されていない API があり、シリアル ポートに対して開いているハンドルを確認できます。これは、ユーザーが常に管理者であり、.Net および文書化された API を使い続けることを気にしない場合です。
存在するすべての COM ポートを検索するための文書化された API があり、それらすべてを開いてみることができます。これはかなり粗雑で遅いように聞こえますが、別の方法よりも悪くはありません。