#http://www.ac-promenade.net/text/windowsmobile/ #Scripted by AC-Promenade http://www.ac-promenade.net/ #キーライト・トグル #KeyLight_Toggle.mscr #キーボードのバックライト(以下キーライト)の #点灯、消灯をトグルし、同時に画面輝度も変更するMortScript。 #キーライトが必要な環境光では、画面が暗くても十分見えるので、 #同時に画面輝度を変更することで、電池の節約にも利用できます。 #●使用方法概要 #・本mscrを実行すると、キーライト点灯時には消灯します。 #・また、消灯時には点灯します。 #・同時に、切替前の画面輝度に戻します。 #・設定によって、双方の画面輝度を絶対値指定する事もできます。 #・本体デバイスのボタンに割り当てると実用的だと思います。 #●動作確認デバイス #Advanced/W-ZERO3[es], WILLCOM 03 #他ZERO3系デバイスでも、動くかもしれません。 #その他機種はレジストリ参照値が同じなら、動くかもしれません。 #もし他のWindows Mobile機でも動いたらご報告頂けると嬉しいです。 #●必要環境 #・MortScript4.1以上(それ以下でも動くかも)、mscrの関連付け。 # http://www.sto-helit.de/ (PCサイト) #●補足事項 #アンインストールの際は、本mscrを削除するだけで大丈夫です。 #レジストリの追加、別ファイルの作成等は行っていません。 #本mscrによって生じる不利益に当方は関与しません。 #設定変数値を除く内容に改ざんがない限り、再配布は自由です。 #内容に変更を加えた際の再配布は、必ずその変更前と変更後の #明記を、本文中にて行ってあれば構いません。 #--------------------------------------------------------------- #以下環境設定 #(書き換えの際、文字コードS-JISが変換されないよう御注意下さい。) #■キーライト変更時の画面輝度を絶対値とする=1、しない=0。 #(=0であれば変更前の輝度を記憶し、その値に戻す動作になります。) AbsoDisp=0 #■キーライト変更時の画面輝度値。(AbsoDisp=0の場合は無視します。) #(Lowはキー点灯、Retは消灯、BTはバッテリー使用、ACは電源接続。) #コメントのLastDataSt, LastDataEdは変えないで下さい。 #LastDataSt LowBTBrt=1 LowACBrt=1 RetBTBrt=2 RetACBrt=2 #LastDataEd #--------------------------------------------------------------- #バージョン履歴 #1.00 公開。 #--------------------------------------------------------------- #Main Script #■PPC制限 If(MortScriptType() ne "PPC") message("This script is PPC only.") Exit EndIf NowBTBrt=RegRead ("HKCU","ControlPanel\BackLight","BatteryBrightness") NowACBrt=RegRead ("HKCU","ControlPanel\BackLight","ACBrightness") If (RegRead ("HKCU","ControlPanel\Utility","BackLight_Key")=0) Save="Ret" Load="Low" BL_Switch=1 Call ("Switch") Else Save="Low" Load="Ret" BL_Switch=0 Call ("Switch") EndIf If ( (AbsoDisp<>1) and (Write=1) ) ThisFilePath=SystemPath ("ScriptPath")\SystemPath ("ScriptName")&SystemPath ("ScriptExt") If (FileExists (ThisFilePath)) ThisFileText=ReadFile (ThisFilePath,0,"jis") PostFileText=Part (ThisFileText,"^NL^#LastDataSt",1,0)\ &"^NL^#LastDataSt"\ &"^NL^LowBTBrt="&LowBTBrt\ &"^NL^LowACBrt="&LowACBrt\ &"^NL^RetBTBrt="&RetBTBrt\ &"^NL^RetACBrt="&RetACBrt\ &"^NL^#LastDataEd"\ &Part (ThisFileText,"^NL^#LastDataEd",-1,0) Sleep (300) WriteFile (ThisFilePath,PostFileText,0,"jis") EndIf EndIf #--------------------------------------------------------------- #Sub Script #■Call ("Switch") Sub Switch If ( ([Save&"BTBrt"]=NowBTBrt) and ([Save&"ACBrt"]=NowACBrt) ) Write=0 Else [Save&"BTBrt"]=NowBTBrt [Save&"ACBrt"]=NowACBrt Write=1 EndIf RegWriteDWord ("HKCU","ControlPanel\Utility","BackLight_Key",BL_Switch) RegWriteDWord ("HKCU","ControlPanel\BackLight","BatteryBrightness",[Load&"BTBrt"]) RegWriteDWord ("HKCU","ControlPanel\BackLight","ACBrightness",[Load&"ACBrt"]) SetBacklight ([Load&"BTBrt"],[Load&"ACBrt"]) EndSub