昨今公共でPCを使える施設では、USBフラッシュメモリの忘れ物が多発しており、忘れる、紛失したことで社会的に問題となることも少なくありません。
WBuzzer はUSBフラッシュメモリの忘れ物を防ぐツールです。 公共のパソコンで使うと役に立ちます。家庭で使って役に立つソフトではありません。 USBフラッシュメモリを刺しっぱなしでログオフすると音やダイアログで警告します。管轄のコンピュータ演習室に導入したところ、USBフラッシュメモリの忘れ物が1/5ほどに減少しました。 他の場でもなにかの役に立てればと思い公開いたします。
動作について
起動中はタスクトレイにアイコンが表示されます。タスクトレイのアイコンを右クリックすると、アバウト画面や設定画面を呼び出すことができます。
起動中にUSBメモリを刺したままログオフ(再起動、シャットダウン)を行うと、以下のような警告で利用ユーザーに知らせます。設定画面でこれらの設定をすることができます。
- 画面にダイアログボックスを表示します。
- Windowsのアラート音を鳴らします。サウンドカードのボリュームの影響を受けます。
- PC本体のBEEP音(内蔵ブザー、以下BEEP音)を鳴らします。ボリュームの影響は受けませんが、ハードウエアによっては搭載されていないことがあります。
- 専用ハードウエア(後述)を鳴らすことができます。
- Webアクセスによる通知ができます。(詳細はいずれドキュメントなどに記載)
動作画面
技術情報
開発環境はVisualStudio2012で、使用言語はC#です。このためMicrosoft .NET Frameworkに依存しています。
Windows XPまでは難なくBEEP音を鳴らすことができたのですが、Windows7 64bitではOS としてBEEP音を鳴らすということがやりにくくなりました。(MSの署名付きドライバ必須とかまあいろいろ。)このため、IOport制御DLLであるInpOut32 and InpOutx64を使用しBEEP音を鳴らしています。
ちなみにBEEP音を鳴らさないと、利用者はなかなか気が付かないため、忘れ物が減らないということが経験的にわかっています。
動作確認環境
*同一バイナリで32bit,64bit両対応します。
- Windows 10 64bit*
それ以外の環境については、確認がとれていませんが、動作しましたらご報告いただけると幸いです。
インストール
BEEP音を鳴らすために InpOut32 and InpOutx64を使用しておりますので、リンク先からダウンロードし、インストールしてください。
配布物は実行プログラムのみでインストーラは現状ありません。適当な場所に展開して動作させることができます。 起動すると自動的に常駐しログアウトを監視するようになりますので、Windowsのスタートアップに登録すると便利です。
Windowsサウンド(旧Windows警告音)の設定について(2.5.0) New!!
Windowsサウンドについての設定をできるようにしました。
警告音としてサイン波か任意のwavファイルを選択できます。
Windowsサウンドを出力するデバイスを選択できます。(選択されている設定がない場合は、出力項目としてチェックされていても再生されないようになっています。)
Windowsサウンドの音量が設定できます。アプリケーション単位の音量設定となります。
ブザー音の設定について(2.4.0)
ブザー音についての設定をできるようにしました。
設定項目は「発音時間」「断続周期」「音程」です。設定は警告として鳴るすべてのブザー音について有効です。
初期設定は、発音時間:1000ms,断続周期1000ms,音程 A4としてあります。
どのような設定にすると効果が高いのか、試していただき報告いただけると幸いです。
Windows10での利用について
ログオフ時のOSによる画面遷移の関係上、ダイアログが見えなくなってしまいました。
これに対処するため2.3.0より、タイトルとしてUSBメモリを抜くように文字表示をさせることにしました。下記スクリーンショット参照してください。
ダイアログ表示以外の機能については、Windows10で動作することを確認しています。
ログオフ/シャットダウン操作 → →
WBuzzer専用ハードウエアについて
ノートパソコンではBEEP音を出力するブザーが無いものが多いので、簡易なハードウエア(2000円程度)で鳴らすことができるブザーを設計、開発しました。これをWBuzzer専用ハードウエア(以下専用ハードウエア)としています。 ハードウエアとしては秋月電子通商で取り扱っている「USB接続デジタル入出力モジュール USB-IO2.0(AKI)」に任意の圧電スピーカーをPort J1-0に接続しただけのシンプルなものです。(回路図準備中)
このハードウエアはHIDデバイスとなっているので、別途ドライバをインストールする必要はありません。
ソフトウエアの設定画面で専用ハードにチェックが入っている状態で、専用ハードウエアがつないであれば音がなります。箱に入れてディスプレイの後ろあたりに置いておくと効果が高いと思われます。
依存関係
Microsoft .NET Framework 4.0以降
IOport制御DLL InpOut32 and InpOutx64(InpOutBinaries_1500.zip)
ダウンロード
ライセンス
フリーウエアです。
無保証となります。サポートのお約束はできませんが、できる範囲で協力いたします。
TODO LIST(上から優先)
- ソースコードを整理して、GitHubで公開したい。(作者がGitHubを使ってみたいだけ)
- 専用ハードウエアをなんとかする。
- ホームページをもうちょっときれいにする。
- マウントを解除したUSBメモリも検出 → lsusbではマウントされているされてないにかかわらず検出できるので、できるのではと…
- きれいにログオフを止めたい → Windows7,Windows10ではうまくログオフが止まらずOSダイアログで続行するとログオフができてしまうのでなんとかしたい。→現状設定した時間でアプリが終了しログオフされる(方法募集)
- 常駐なしモードの検討→ログオフスクリプトに登録して動いてもらう。
- インストーラを作る - dotnetframeworkも合わせてインストールできるインストーラを作成する。
リンク
関連ソフトウエア 関連ハードウエア 参考サイト
- 『昼夜逆転』工作室 V-USB ホスト側アプリとAVR-HID/IOUSB HIDドライバの組み込みに際して参考にさせていただきました。
ホーム | 池淵 隆(ikebuchi(a)kwansei.ac.jp) '(a)'は'@'に置き換えて 更新日 2019/06/06 |