HSPでUSBといえば

HSPでUSBといえば、K-KさんのUSB-IO用プラグインがとても有名です。というか、むしろこれしかありません。
このプラグインはUSB-IO用ですが、これにはHSP3用モジュールがついているので今回のスクリプト作成にはとても参考になりました。
このスクリプトのほかにもう1つ参考にしたスクリプトがあるんですが…まあそれはおいおい説明します。

USBデバイスの列挙

API関数は、
 kernel32.dll
 hid.dll
 setupapi.dll
を使います。
どれもWindowsには標準で入っているので何も気にする必要はありません。

ではとりあえずサンプルです。

usbsample001.hsp

適当なUSB機器を接続した状態で、HSP3.1以上で実行してください。
こんな感じの実行結果になると思います。
HSPの白いウィンドウにVenderIDとProductID、VersionNumberがそれぞれデバイスの数だけ表示されている画面。
手ごろなUSB機器をPCからはずして実行すると、そのデバイスのIDが表示されなくなるのが確認できます。

全体の流れはすでに説明しましたが、このスクリプトではハンドルの開放とかその他の作業が加わっています。
詳細はMSDNとにらめっこしながらスクリプトを眺めてください。今は説明する気力も知力も不足していますので…すみません。orz

デバイスによって変更が必要な部分があるとすれば、CreateFile関数の部分ぐらいだと思います。
そのほかは大きな変更は必要ないと思うのでこういう呪文だとおもうのもひとつの手かと。

おわりに

スクリプトに問題があれば、ご意見・ご指摘・アドバイスをお願いします。
なにぶんUSBについては理解が不足していますので…。

さてデータの送受信ですが、今回は省略しました。
これはデバイスによってその内容が違いますので、のちほど実例を交えつつ書いてみようかと思います。
といってもスクリプトはすでに公開済みですが。