ZitatOriginal von my-key
...
PS. andere Frage, denn ich denke, dass die auch mit der Registry zu tun hat:
könnte man das automatische Abdunkeln im Batterie-Betrie deaktivieren ?
Persönlich beschäftige ich mich jetzt seit fast einem halben Jahr damit, meinem E4230 das Stromfressen ab zu
gewöhnen, und "das automatische Abdunkeln im Batterie-Betrieb deaktivieren" frißt und frißt Strom.
Gleichwohl beantworte ich diese Frage hiermit wie folgt gerne.
Jedes Medion-PNA (das ich kenne) hat zwei VONEINANDER UNABHÄNGIGE Einstellmöglichkeiten bezüglich der Helligkeit.
Die erste ist die "PNA" Einstellmöglichkeit via Controlpanel und die
zweite ist die "GoPAL" Einstellmöglichkeit
via jeweiligem Skin. Läuft "GoPAL", gelten die "PNA" Einstellungen für diese Zeit nicht unbedingt. Wenn "GoPAL"
verlassen (beendet) wird, gelten wieder die "PNA" Einstellungen hinsichtlich der Helligkeit.
Manche Anwendungen haben ihre eigenen Einstellungen.
I. Die Grundlagen
A:
Autosuspend abschalten oder ändern
In der Systemsteuerung gibt es ein Control zur Konfiguration des automatischen Abschaltens (Autosuspend) bei
Akku- und Netzbetrieb. Läuft die Stromversorgung über Akku, ist ein automatisches Ausschalten nach einigen
Minuten ohne Benutzereingabe sinnvoll, um den Akku zu schonen. Ab und an stört dieses Stromspar-Feature
aber, zum Beispiel beim Musikhören (sofern der verwendete Player nicht von sich aus das Abschalten unterbindet).
Über die Systemsteuerung läßt sich der Autosuspend bei Akku-Betrieb auf den meisten Geräten nicht deaktivieren.
Zudem sind die wählbaren Zeiträume im Control hart codiert mit den Werten eine, zwei, drei, vier und fünf Minuten,
Zwischenwerte und längere oder kürzere Zeiträume lassen sich nur manuell über die Registry einstellen.
Der zugehörige Schlüssel findet sich unter
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\BattPowerOff
Angegeben ist die Zeitspanne bis zum automatischen Abschalten in Sekunden, also z.B. "180" (oder hex "B4") für drei
Minuten. Um die Autosuspend-Funktion abzuschalten, muß hier ein Wert von "0" eingetragen werden.
Analog zum Akku-Betrieb läßt sich der Abschaltautomatismus auch für den den Netzbetrieb einstellen. Der zugehörige
Schlüssel dafür heißt
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\ExtPowerOff
Zu beachten ist, dass diese beiden Registry-Einträge nur die Autosuspend-Funktion steuern, nicht aber das automatische
Herunterdimmen der Display-Hintergrundbeleuchtung! Auch werden die hier genannten Änderungen in der Registry
erst nach einem Softreset wirksam, gehen diese überdies mit jedem Hardreset verloren.
B:
Automatisches Herunterdimmen bei Akku-Betrieb verhindern
Es gibt da z.Bsp. die Software SmartLight Automatic Backlight 1.1, seit dem 18. Juni 2009 erhältlich. Ob die auch auf Medion PNAs läuft,
muss erst ausprobiert werden ( wer opfert US$ 6.99? ) und die Software PocketTV Classic v1.4.4 - eine freeware
Die betreffenden Registry-Einträge sind
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\Timeouts\Standard\ACUserIdle
und
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\Timeouts\Standard\BattUserIdle
Um das automatische Herunterdimmen abzuschalten, muß hier ein Wert von "0" eingetragen werden.
Zu beachten ist, dass die hier genannten Änderungen in der Registry
erst nach einem Softreset wirksam werden, diese überdies mit jedem Hardreset verloren gehen.
II: Die Realisierung mit MortScript
A:
Allgemeine Lösung
################################################################
#
# CE_DIMMER_PROMPT.mscr
#
# 2009-09-12
# jwoegerbauer
# GNU General Public License (GPL), Version 2, June 1991
#
# Notes:
#
# This script is temporarily
# overriding these registry settings
#
# [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power]
# "BattPowerOff"=dword:00000000
# "ExtPowerOff"=dword:00000000
#
# [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\Timeouts]
# "ACUserIdle"=dword:00000001
# "BattUserIdle"=dword:00000001
#
# The ini-template to be used
#
# ;CeDimmer.ini
# ;
# [UserIdle]
# BattUserIdle=0
# ACUserIdle=0
# [PowerOff]
# BattPowerOff=0
# ExtPowerOff=0
# [Installation]
# DeActivated=0
# StandardVals=0
#
################################################################
#
ErrorLevel("off")
Local()
#
# set-up INI specific vars
#
Set INI, \
"\My Flash Disk\navigation\menu\desktop\CeDimmer.ini"
Set INI_IDLE_SECTION, "UserIdle"
Set INI_POWER_SECTION, "PowerOff"
Set INI_INSTALLATION_SECTION, "Installation"
#
# set-up REG specific vars
#
Set REG_IDLE_HIVE, "HKLM"
Set REG_IDLE_PATH, \
"System\CurrentControlSet\Control\Power\Timeouts\Standard"
Sleep 50
Set REG_POWER_HIVE, "HKLM"
Set REG_POWER_PATH, \
"System\CurrentControlSet\Control\Power"
Sleep 50
#
#
If (not FileExists( %INI% ))
#
# simply create a new one
#
WriteFile( %INI%, ";CeDimmer.ini^NL^", 1 )
WriteFile( %INI%, ";^NL^", 1 )
WriteFile( %INI%, "[UserIdle]^NL^", 1 )
Sleep 100
WriteFile( %INI%, "BattUserIdle=0^NL^", 1 )
WriteFile( %INI%, "ACUserIdle=0^NL^", 1 )
Sleep 100
WriteFile( %INI%, "[PowerOff]^NL^", 1 )
WriteFile( %INI%, "BattPowerOff=0^NL^", 1 )
WriteFile( %INI%, "ExtPowerOff=0^NL^", 1 )
Sleep 100
WriteFile( %INI%, "[Installation]^NL^", 1 )
WriteFile( %INI%, "DeActivated=0^NL^", 1 )
WriteFile( %INI%, "StandardVals=0^NL^", 1 )
Sleep 100
#
EndIf
#
# adjust to your needs
#
Set fontSize, "22"
Set fontName, "Verdana"
Set lineHeight, "30"
options[1] = "Windows CE Dimmer Deaktivieren"
options[2] = "Windows CE Dimmer Aktivieren"
options[3] = " "
options[4] = "Programm CeDimmer Deinstallieren"
Sleep 100
#
# present dialogue to user
#
SetChoiceEntryFormat(%lineHeight%, %fontSize%, %fontName%)
Choice("CeDimmer Optionen", \
"^NL^^NL^CeDimmer Optionen^NL^^NL^", options)
Case( 1 )
#
# we don't want to do things twice
#
If( NOT IniRead( %INI%, %INI_INSTALLATION_SECTION%, "DeActivated" ))
#
# attempt to read current (standard) registry settings
#
StandardVals = 0
If(RegKeyExists( %REG_IDLE_HIVE%, %REG_IDLE_PATH% ))
#
# remember this fact
StandardVals = 1
IniWrite( %INI%, %INI_INSTALLATION_SECTION%, \
"StandardVals", "1" )
Sleep 50
#
# and read in the vals from there
BattUserIdle = \
RegRead (%REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"BattUserIdle")
ACUserIdle = \
RegRead (%REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"ACUserIdle")
Sleep 100
#
EndIf
#
#
BattPowerOff = \
RegRead (%REG_POWER_HIVE%, %REG_POWER_PATH%, \
"BattPowerOff")
ExtPowerOff = \
RegRead (%REG_POWER_HIVE%, %REG_POWER_PATH%, \
"ExtPowerOff")
Sleep 100
#
# save current registry settings
#
If ( StandardVals )
IniWrite( %INI%, %INI_IDLE_SECTION%, \
"BattUserIdle", BattUserIdle )
IniWrite( %INI%, %INI_IDLE_SECTION%, \
"ACUserIdle", ACUserIdle )
Sleep 100
EndIf
#
#
IniWrite( %INI%, %INI_POWER_SECTION%, \
"BattPowerOff", BattPowerOff )
IniWrite( %INI%, %INI_POWER_SECTION%, \
"ExtPowerOff", ExtPowerOff )
Sleep 100
#
# set our registry settings
#
RegWriteDword (%REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"BattUserIdle", 0)
RegWriteDword (%REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"ACUserIdle", 0)
Sleep 100
RegWriteDword (%REG_POWER_HIVE%, %REG_POWER_PATH%, \
"BattPowerOff", 0)
RegWriteDword (%REG_POWER_HIVE%, %REG_POWER_PATH%, \
"ExtPowerOff", 0)
Sleep 100
#
# re-set flag
#
IniWrite( %INI%, %INI_INSTALLATION_SECTION%, \
"DeActivated", "1")
Sleep 50
#
# re-start system
#
Reset
#
EndIf
#
#
Case( 2 )
#
# we don't want to do things twice
#
If(IniRead( %INI%, %INI_INSTALLATION_SECTION%, "DeActivated" ))
#
# retrieve default registry settings
#
StandardVals = IniRead( %INI%, %INI_INSTALLATION_SECTION%, \
"StandardVals" )
If( StandardVals )
BattUserIdle = \
IniRead ( %INI%, %INI_IDLE_SECTION%, \
"BattUserIdle")
ACUserIdle = \
IniRead ( %INI%, %INI_IDLE_SECTION%, \
"ACUserIdle")
Sleep 100
EndIf
#
#
BattPowerOff = \
IniRead ( %INI%, %INI_POWER_SECTION%, "BattPowerOff")
ExtPowerOff = \
IniRead ( %INI%, %INI_POWER_SECTION%, "ExtPowerOff")
Sleep 100
#
# restore default registry settings
#
If( StandardVals )
RegWriteDword (%REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"BattUserIdle", BattUserIdle)
RegWriteDword (%REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"ACUserIdle", ACUserIdle)
Sleep 100
EndIf
RegWriteDword (%REG_POWER_HIVE%, %REG_POWER_PATH%, \
"BattPowerOff", BattPowerOff)
RegWriteDword (%REG_POWER_HIVE%, %REG_POWER_PATH%, \
"ExtPowerOff", ExtPowerOff)
Sleep 100
#
# re-set flag
#
IniWrite( %INI%, %INI_INSTALLATION_SECTION%, \
"DeActivated", "0")
Sleep 50
#
# re-start system
#
Reset
#
EndIf
#
#
Case( 3
#
# nothing to do
#
Case( 4 )
#
#
If( IniRead( %INI%, %INI_INSTALLATION_SECTION%, "DeActivated" ))
#
# retrieve default registry settings
#
StandardVals = IniRead( %INI%, %INI_INSTALLATION_SECTION%, \
"StandardVals" )
If( StandardVals )
BattUserIdle = \
IniRead ( %INI%, %INI_IDLE_SECTION%, "BattUserIdle")
ACUserIdle = \
IniRead ( %INI%, %INI_IDLE_SECTION%,"ACUserIdle")
Sleep 100
EndIf
#
#
BattPowerOff = \
IniRead ( %INI%, %INI_POWER_SECTION%, "BattPowerOff")
ExtPowerOff = \
IniRead ( %INI%, %INI_POWER_SECTION%, "ExtPowerOff")
Sleep 100
#
# restore default registry settings
#
If( StandardVals )
RegWriteDword (%REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"BattUserIdle", BattUserIdle)
RegWriteDword (%REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"ACUserIdle", ACUserIdle)
Else
#
# completely remove these entries
#
RegDeleteKey( %REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"BattUserIdle" )
RegDeleteKey(%REG_IDLE_HIVE%, %REG_IDLE_PATH%, \
"ACUserIdle" )
EndIf
Sleep 100
RegWriteDword (%REG_POWER_HIVE%, %REG_POWER_PATH%, \
"BattPowerOff", BattPowerOff)
RegWriteDword (%REG_POWER_HIVE%, %REG_POWER_PATH%, \
"ExtPowerOff", ExtPowerOff)
Sleep 100
EndIf
#
# finally remove all related entries in \My Flash Disk
#
files[1] = "\My Flash Disk\navigation\menu\desktop\CeDimmer.xml"
files[2] = "\My Flash Disk\navigation\menu\desktop\CeDimmer.png"
files[3] = "\My Flash Disk\navigation\menu\desktop\CeDimmer.ini"
files[4] = "\My Flash Disk\programme\MortScript\CE_DIMMER_PROMPT_EXE"
files[5] = "\My Flash Disk\programme\MortScript\CE_DIMMER_PROMPT.mscr"
Sleep 100
For i = 1 To ElementCount(files) Step 1
Delete( files[i] )
Sleep 50
Next
#
# re-start system
#
Reset
#
#
EndChoice
#
#
Exit
#
################################################################
B:
Spezielle Lösung
################################################################
#
# XXX_STAY_ALIVE.mscr
#
# jwoegerbauer 06/14/2009
# GNU General Public License (GPL), Version 2, June 1991
#
#
# Abstract:
# Basic script to set no timeouts and full brightness
# while using specific XXX_application
#
# Take control over your backlight. Want it to stay on longer
# or not turn off when running a specific application?
# When running certain applications you are limited to your
# default backlight time out of just a few seconds. Ever wanted
# to way to just leave the backlight on? Using a GPS application
# for navigation and the screen keeps turning off?
#
# XXX_STAY_ALIVE might be the solution for you.
#
################################################################
#
ErrorLevel("off")
Local()
#
################################################################
#
# IMPORTANT --- IMPORTANT --- IMPORTANT --- IMPORTANT
#
# change application to run here
Set STAY_ALIVE_APP, "\My Flash Disk\My Apps\MyApp.exe"
#
################################################################
#
#
Set CURR_TIMEOUTS, "System\CurrentControlSet\Control\Power\Timeouts"
Set CURR_BACKLIGHT, "ControlPanel\Backlight"
#
# read current registry settings
BattSuspendTimeout = \
RegRead ("HKLM", %CURR_TIMEOUTS%,"BattSuspendTimeout")
ACSuspendTimeout = \
RegRead ("HKLM", %CURR_TIMEOUTS%,"ACSuspendTimeout")
BatteryTimeout = \
RegRead ("HKCU", %CURR_BACKLIGHT%, "BatteryTimeout")
ACTimeout = \
RegRead ("HKCU", %CURR_BACKLIGHT%, "ACTimeout")
Brightness = \
RegRead ("HKCU", %CURR_BACKLIGHT%, "Brightness")
ACBrightness = \
RegRead ("HKCU", %CURR_BACKLIGHT%, "ACBrightness")
#
# set registry settings
RegWriteDword ("HKLM", %CURR_TIMEOUTS%, "BattSuspendTimeout",0)
RegWriteDword ("HKLM", %CURR_TIMEOUTS%, "ACSuspendTimeout",0)
RegWriteDword ("HKCU", %CURR_BACKLIGHT%, "BatteryTimeout", 0)
RegWriteDword ("HKCU", %CURR_BACKLIGHT%, "ACTimeout", 0)
RegWriteDword ("HKCU", %CURR_BACKLIGHT%, "Brightness", 10)
RegWriteDword ("HKCU", %CURR_BACKLIGHT%, "ACBrightness", 10)
#
# run the application
RunWait (%STAY_ALIVE_APP%)
#
# restore registry settings back to normal use mode
RegWriteDword ("HKLM", %CURR_TIMEOUTS%, "BattSuspendTimeout", \
BattSuspendTimeout)
RegWriteDword ("HKLM", %CURR_TIMEOUTS%, "ACSuspendTimeout",\
ACSuspendTimeout)
RegWriteDword ("HKCU", %CURR_BACKLIGHT%, "BatteryTimeout", \
BatteryTimeout)
RegWriteDword ("HKCU", %CURR_BACKLIGHT%, "ACTimeout", \
ACTimeout)
RegWriteDword ("HKCU", %CURR_BACKLIGHT%, "Brightness", \
Brightness)
RegWriteDword ("HKCU", %CURR_BACKLIGHT%, "ACBrightness", \
ACBrightness)
#
#
Exit
#
################################################################
Falls ein nachhaltiges Interesse an der allg. Lösung besteht, bin ich gerne bereit ein Installationspaket zu schnüren
und dieses hier zu veröffentlichen.