2007-10-17

電波状態LEDの制御

いつも他の人が作ったツール類を見るたびに どうやってその情報を調べたんだろうと不思議に思っていたのですが、 今日はじめて dumpbinというツールがあることを知りました。
 
dumpbinを使うとバイナリファイルからエクスポートされている定義を調べることができます。 Visual Studioに付属のツールなのですが、フリーでも Dependency Walkerというソフトを使うことで同様の内容を見ることができるみたいです。
 
これでいろんなファイルを調べるぞと思ったのですが、\Windowsフォルダのファイルはほとんどロックされていて読み取ることができないのですね。残念。
 
それでも何かと話題の shphonelib.dllの中身を見ることはできました。
その中に SetLEDというわかりやすい名前を見つけたので試しに呼び出してみると これまで使い方のわからなかった電波状態LEDを制御することができました。 実用性は無いのですが、ソースともども W-ZERO3.org Uploaderにアップしておきます。
パラメータに "on", "off"を渡すことでLEDの点灯、"bon", "boff"で点滅させることができます。
 
例によってプログラムを書くにあたっては oriさんの WSIMFileGetを参考にさせて頂きました。 いつもありがとうございます。
 
 
(10/18追記)
oriさんからSetLEDについて情報を頂きました。
  1: 着信中
  2: 不在着信有り
  3: 未読メール有り
  4: メール受信中
  5: ライトメール受信中
 
今回のサンプルでは "on"としたときは「不在着信有り」、"bon"は「着信中」だったことになります。
oriさん、ありがとうございました。
 

2 件のコメント:

ori さんのコメント...

SetLED()の一番目の引数は
1: 着信中
2: 不在着信有り
3: 未読メール有り
4: メール受信中
5: ライトメール受信中
かな.ad[es]では違うかもしれません.

kazuaki さんのコメント...

ありがとうございます。

アドエスでもそのままでした。
試しているときに 2,3が点灯して 1,4,5が点滅するので不思議だなぁ...と思っていました(笑

前回の NLedSetDeviceといい、想像力不足ですね。