Zmiana ustawienia jasności, czyli coś co by się bardzo przydało w AM

  • 3 Odpowiedzi
  • 5183 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline iceneon

  • ****
  • 995
  • Płeć: Mężczyzna
Wiem, że już w kilku wątkach był poruszany temat jednak zakładam nowy, bo przyszło mi coś do głowy i nie mogę sobie z tym poradzić, a że wiele tu mądrych głów, to może coś wspólnie wymyślimy.

Jak wiadomo w urządzeniach z WinCE nie zawsze da się zminimalizować AM aby można było bezboleśnie zmniejszyć poziom oświetlenia ekranu.
Gdy wokół zrobi się ciemno, a ekran nawigacji zaczyna drażnić niestety trzeba wyłączyć AM, uruchomić funkcję jasności ekranu, suwak na dół i z powrotem uruchomienie AM. Jest to nieco uciążliwe, zwłaszcza podczas jazdy. Przy okazji musi od nowa złapać sygnał i gubi niektóre wartości w OBC.

W związku z tym nasunęło mi się pytanie, czy nie można by było jakoś zaimplementować w programie funkcji choćby maksymalnego i minimalnego oświetlenia ekranu przy użyciu kluczy rejestru?

Przy użyciu darmowego programu CeRegistryEditor znalazłem w kluczu HKEY_CURRENT_USER\ControlPanel\BackLight regulacje natężenia oświetlenia. Poniżej zrzuty dla maksymalnego i minimalnego oświetlenia.
Jak widać za oświetlenie odpowiedzialne są dokładnie dwie wartości: BacklightCurrentACLevel i BacklightCurrentBatteryLevel.

Pytanie, czy w Waszych urządzeniach natężenie oświetlenia jest w tych samych kluczach rejestru ?
Jeśli tak, to wysyłamy info do supportu i niech w końcu uruchomią tę brakującą funkcję.

AM obsługuje głośność więc dlaczego by nie mogła obsługiwać oświetlenia? Szukałem w rejestrze i nie doszukałem się kluczy odpowiedzialnych za regulację głośności dlatego też pojęcia nie mam jak wzorować się na funkcji regulacji głośności, tak aby można było coś zrobić z oświetleniem.

Szukałem trochę i znalazłem jak można uruchomić funkcję maksymalnego i minimalnego oświetlenia przy pomocy MortScript, nawet mi się udało, jednak nie ma większego celu robić coś takiego, bo i tak trzeba wychodzić z AM aby uruchomić skrypty. A może AM w jakiś sposób współpracuje z tego typu skryptami? Kto wie...

*

Offline robay

  • 23
Odp: Zmiana ustawienia jasności, czyli coś co by się bardzo przydało w AM
« Odpowiedź #1 dnia: Styczeń 27, 2009, 14:42:54 »
Faktycznie taka funkcja by się przydała. Mam porównanie do MapaMapy, gdzie oprócz zmian kolorów mapy na nocne, dokonuje się też 50% przyciemnienie. Mapa wygląda wtedy wyśmienicie, mało, że nie męczy tak wzroku, to do tego nie widać ewentualnych nierównomierności w podświetleniu matrycy i ogólnie czarne i ciemne obszary nie są tak prześwietlone.
Co do ustawień w rejestrze, to takie funkcje realizuje się zawyczaj programując w warstwie WinAPI wykorzystując funkcje systemowe systemu operacyjnego. Prawdopodobnie, właśnie tak jest zrealizowana obsługa głośności. Oczywiście często można wykorzystywać inne mechanizmy, a nawet gotowe funkcje środowiska programistycznego. Jednak wykorzystanie rejestru do takiego celu jest raczej półśrodkiem i może powodować nieprzewidziane komplikacje. Tak, czy inaczej na pewno można by coś takiego zrobić, i w tym miejscu tylko apel do programistów AM...

Odp: Zmiana ustawienia jasności, czyli coś co by się bardzo przydało w AM
« Odpowiedź #2 dnia: Styczeń 27, 2009, 16:53:06 »
to masz mój pomysł na jasno/ciemno przy pomocy Morta - wykrywanie koloru przycisku menu kontekstowego - u mnie używane ze skórką samoróbką, gdzie ww. kolor jest czarny i wartość składowa koloru czerwonego jest równa 0 . Moja navi nie chce się rozjaśniać / ściemniać przy pomocy wpisów do rejestru, więc dlatego działa to "na piechotę" - poprzez wywołanie programu do sterowania jasnością i symulowanie kliknięć na plusie lub minusie

Run ( "\SDMMC\AUTOMAPA EU\wceAM.exe")
Sleep ( 10000 )
pkt = ColorAt ( 315, 229 )
pkt = Red ( pkt )
if ( pkt = 0 )
    nmod1 = 1
    else
    nmod1 = 0
    Endif

while ProcExists ( "wceAM.exe" )
    pkt = ColorAt ( 315, 229 )
    pkt = Red ( pkt )
    if ( pkt = 0 )
        nmod2 = 1
        else
        nmod2 = 0
    Endif
    if ( nmod1 ne nmod2 )
        Call zmiana
    Endif
    Sleep ( 5000 )
EndWhile


Sub zmiana
if ( nmod2 = "1" )
       Run ("\SDMMC\TOOLS\YFAP20\Backlight.exe")
    Repeat ( 7 )
    MouseClick( Backligth , 20, 60 )
    EndRepeat
    MouseClick( Backligth , 315, 10 )
    nmod1 = "1"

       else
        Run ("\SDMMC\TOOLS\YFAP20\Backlight.exe")
    Repeat ( 7 )
    MouseClick( Backligth , 300, 60 )
    EndRepeat
    MouseClick( Backligth , 315, 10 )
        nmod1 = "0"
    Endif
EndSub

*

Offline iceneon

  • ****
  • 995
  • Płeć: Mężczyzna
Odp: Zmiana ustawienia jasności, czyli coś co by się bardzo przydało w AM
« Odpowiedź #3 dnia: Styczeń 27, 2009, 22:12:38 »
Akurat na tym przykładzie się nie opierałem bo nie posiadam Larka i nie odbywało się to z automatu, tylko za pomocą Morta i plików reg, do tego skróty na pulpice WinCE przy pomocy których uruchamiałem funkcje jasno i ciemno.
Twoje rozwiązanie jest niezłe  :ok:  Muszę przeczytać cały wątek (na forum na którym o tym pisałeś) i może coś się mi uda zrobić.