レジストリのバックライトの情報を書き換えても反映されなかったので、プログラムでレジストリを変更後、
HANDLE hBackLightEvent = CreateEvent(NULL, FALSE, TRUE, TEXT("BackLightChangeEvent"));
if (hBackLightEvent) {
SetEvent(hBackLightEvent);
CloseHandle(hBackLightEvent);
}
として、イベントを発生させてみた。が、うまくいかない。
SendMessage(HWND_BROADCAST,WM_SETTINGCHANGE,0,0);
として、レジストリの変更を反映させるメッセージを発行してもうまくいかない。
うーん。
結局
[設定]-[システム]-[バックライト]
をキーボードに割り当てることに。
1
バックライト.lnk
と名前のショートカットファイルを作成
中身は
\Windows\ctlpnl.exe cplmain.cpl,6
2
上記のファイルを
\Windows\スタートメニュー\プログラム
にコピー
(このフォルダに置くと、以下の手順で選べる)
3
[設定]-[個人用]-[ボタン]
で、適当なボタンに対して、プログラムの割り当てから
バックライト
を選ぶ。
これで、普段は暗くしていて、明るいところに出たときも、ボタン操作だけで、画面を明るくできそう。
木曜日, 8月 14, 2008
土曜日, 8月 09, 2008
S11HTのバックライト
バックライトの輝度を変更するには、レジストリを変更すればいいのだが。。。
MortScriptにて
bl = RegRead("HKCU", "ControlPanel\BackLight", "Brightness")
Switch (bl)
Case (1)
bl = 10
Case (2, 3, 4, 5, 6, 7, 8, 9, 10)
bl = 1
EndSwitch
RegWriteDWord("HKCU", "ControlPanel\BackLight", "Brightness", bl)
とすると、レジストリの値は変更されるが、S11THでは、ソフトウェアリセットをしないと、適用されない。
BackLightChangeEvent
なるイベントを発生させる必要があるようだ。ただ、MortScriptでイベントを発生させる方法はよくわからない。VS2005を使って、コードを書いてみよう。
MortScriptにて
bl = RegRead("HKCU", "ControlPanel\BackLight", "Brightness")
Switch (bl)
Case (1)
bl = 10
Case (2, 3, 4, 5, 6, 7, 8, 9, 10)
bl = 1
EndSwitch
RegWriteDWord("HKCU", "ControlPanel\BackLight", "Brightness", bl)
とすると、レジストリの値は変更されるが、S11THでは、ソフトウェアリセットをしないと、適用されない。
BackLightChangeEvent
なるイベントを発生させる必要があるようだ。ただ、MortScriptでイベントを発生させる方法はよくわからない。VS2005を使って、コードを書いてみよう。
S11HT
S11HTにインストールしたソフト
MortScript
Google Maps for Mobile
GSFinder + WM5
PocketHpte
TRE(Tascal Registry Editor)
MortScript
Google Maps for Mobile
GSFinder + WM5
PocketHpte
TRE(Tascal Registry Editor)
登録:
投稿 (Atom)