Mortscript pozwalający wykorzystać klawisz na słuchawce

  • 0 Odpowiedzi
  • 1490 Wyświetleń

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

*

Offline koliberek

  • 25
  • Płeć: Mężczyzna
  • Sprzęt: SPV M650
Mortscript pozwalający wykorzystać klawisz na słuchawce
« dnia: Lipiec 16, 2008, 15:28:52 »
Pozwoliłem sobie założyć nowy wątek - może się komuś przyda kiedyś. Jeśli jest w niewłaściwym miejscu proszę o przeniesienie go.

W wątku o polecanych programach pojawił się Speech commander. Bardzo sympatyczny program, ale byłby zupełnie rewelacyjny, gdyby można go było uruchamiać za pomocą przycisku na kablowych słuchawkach. Okazało się, że ten przycisk nie może zostać oprogramowany. Przygotowałem więc skrypt, który pozwala go wykorzystać. Sztuczka jest bardzo prosta - przycisk ten uruchamia Speed Voice Dialing. Skrypt czeka więc na uruchomienie tego programu, zamyka go i w jego miejsce uruchamia Voice Commandera. Tam również dostępne jest wybieranie głosowe więc strata żadna :-) Uruchamiana aplikacja jest zdefiniowana w pierwszym wierszu skryptu - można sobie ją zamienić na cokolowiek innego. Skrypt testowany na SPV M650 i ROMie Artemis Touch 4.2:

#Należy podać pełną ścieżkę do aplikacji, która ma zostać uruchomiona
aplikacja="\Storage Card\Program Files\Cyberon.Speech.Commander\VoiceCommander.exe"

#wyłączenie obsługi błędów do takiego poziomu, żeby funkcja WaitFor nie krzyczała, że nie znalazła okna
ErrorLevel("syntax")
#Nie kończąca się pętla
while (1)
  #Czekamy przez 5 minut na okno o tytule "Voice Speed"
  WaitFor("Voice Speed",600)
  if (WndExists("Voice Speed"))
    #Zamknij okno o nazwie "Voice Speed"
    close("Voice Speed")
    #Uruchom aplikację
    Run (aplikacja)
    #Sprawdzamy co sekundę czy okno Voice Commandera jest aktywne
    sleep(3000)
    tytul = ActiveWindow()
    while(WndActive(tytul))
      sleep(1000)
    endwhile
    #Jeśli nie jest aktywne zamykamy program
    close(tytul)
    #...i gasimy ekran dla oszczędności energii
    ToggleDisplay(0)
  endif
endwhile

Skrypt zjada przeciętnie ok. 5% procesora. Niestety, za chudy w uszach jeszcze jestem, żeby toto dobrze zaprogramować (to mój pierwszy skrypt) więc zabić się go da wyłącznie Task Managerem.

Wszelkie prawa ogólnie dostępne :-) Poprawki i usprawnienia mile widziane.