Windows は、ハードディスク、CDROM、プリンターなど、さまざまな種類の接続デバイスに関する情報を提供します。これらのデバイスは、USB、SCSI、シリアルまたはパラレル ポートなどのさまざまなインターフェイスを介してコンピュータに接続できます。
Access Database アプリケーションでこれを使用して何ができるかを示すサンプル ビデオ (DeviceDetectorAuthDemo.accdb) をここでご覧ください。
https://www.youtube.com/watch?v=qh5hrhpRNIg
AxDeviceDetector.exe は、2 つのクラスを公開する (32 ビット) ActiveX OOP (プロセス外) EXE サーバーです。
このリポジトリには 3 つのプロジェクトがあります。
AxDeviceDetector.vbp
SaDeviceDetector.vbp
これは ActiveX サーバーではなく、サンプルおよびデモとして機能するスタンドアロンの実行可能ファイルです。
この実行可能ファイルを実行するだけで済みます。機能するために ActiveX サーバーを登録する必要はありません。これは、ActiveX 経由でクラスを使用せず、実行可能ファイルにプライベートに埋め込まれているためです。このプロジェクトは同じクラスを使用しますが、リストボックスにイベントを表示する frmDetector フォームを追加します。
警告: Visual Basic IDE でこのプロジェクトを開始すると、2 つのクラス (DeviceDetector と DeviceInfo) にパブリック インターフェイスがあることが表示されますが、これはスタンドアロンの実行可能ファイルでは不可能です。これは、2 つのプロジェクトが同じソース ファイルを共有しているために発生します。 Visual Basic IDE は、これらのプロパティをプライベートとして変更します。これらの変更を加えたプロジェクトを保存しないでください。保存しないと、ActiveX サーバー プロジェクトの「Multiuse」に戻す必要があります。
AxDeviceDetectorTest.vbp
私の個人ブログにこのプロジェクトを説明したブログ投稿があります。
このプロジェクトで必要な deviceinfo.dll DLL は、Visual Studio 2017 で作成されているため (deviceinfo_dll リポジトリの Readme を参照してください)、適切に機能するには、ターゲット コンピューターに対応する Visual C 2017 ランタイム (x86) がインストールされている必要があります。
msvbvm50.dll Visual Basic 5 ランタイム DLL (SP3) も必要です。
ダウンロード可能な zip ファイルには、必要な DLL が両方とも含まれており、exe ファイルがある場所、または PATH ディレクトリのいずれかに配置する必要があります。