
残念なことに、私は風邪をひいて、3日間自宅で立ち往生し、無制限の楽しみから「長い箱」を整理し始める機会がありました。 このボックスには、CBRからの「usb notifier」が見つかりました。 このデバイスは、配色を変更することで、受信メールメッセージを警告するように設計されています。
運が良かったのか、その逆だったのかはわかりませんが、デバイスはすぐに機能することを拒否しました。 HID互換デバイスとして定義されていましたが、奇跡のソフトウェアは動作したくありませんでした。

最初は、宣言された機能を繰り返すソフトウェアを書くことを考えましたが、慎重に考えた後、犬の5番目の足として「通知機能」が必要であることに気付きました。 一方で、液滴内のLEDの外観が気に入ったため、デバイスから通常の夜間照明を作ることにしました。
そもそも、色の変化の原因となっているバイトを見つける必要がありました(同じHIDを忘れないでください)。 わかりやすい文書は見つからず、経験的に行動する必要がありました(「空への指」の科学的方法)。 そのような研究のために、素晴らしいソフトウェア
SimpleHIDWriteがあります。 チームの選択にはかなりの時間がかかると思いましたが、すべてが非常にシンプルであることがわかりました。 ReportID 00を設定し、01 00 00 00 00を送信すると、奇跡のデバイスが赤に変わります。 色を変更するための他の制御バイトのリストを以下に示します。
- 00 00 00 00 00-オフ
- 01 00 00 00 00-赤
- 02 00 00 00 00-緑
- 03 00 00 00 00-ライトグリーン
- 04 00 00 00 00-紫
- 05 00 00 00 00-ライラック
- 06 00 00 00 00-青
- 07 00 00 00 00-水色

さて、デバイスを制御する小さなシェルを作成するのはあなた次第です。 GUIが予測されていないため、c#でWindowsサービスの形式でデバイス管理を行うことにしました。
HidLibraryを使用したホストとHIDデバイス間のデータ交換の実装は次のとおりです。
今、色を変更する方法と時期を決定する必要があります、最初にタイマーで実装したかったのですが、退屈に思えたので、オーディオ入力からサウンドレベルの色を変更することにしました(マイクまたはマイク付きのWebカメラがあることを意味します)。 このために
NAudioを使用し
ました 。 このライブラリの管理方法については、
ここで説明し
ますが 、ピークサウンドレベルの決定を担当するハンドラーを指定するだけです。 原則として、コードは参照により記事の大部分を借用しています。
さて、上記のコードは
Windowsサービスシェルにパッケージ化されてい
ます 。
protected override void OnStart(string[] args) {
残りはWixを使用してサービス展開を作成することです。 詳細については、
gitをご覧ください。 そして最後に、ビデオ: