/-----------------------------------\
| DUCH
- Autor: Paweł Konarski |
| e-mail: kpawel@onet.pl
|
| WWW: http://www.pess.pl/duch
|
\-----------------------------------/
Jeżeli byłyby jakieś pytania/uwagi/propozycje dotyczące programu to proszę
o kontakt.
Mam nadzieję, że ta "instrukcja" będzie w miarę zrozumiała ;-))
Jeżeli nie to proszę o maila - postaram się wytłumaczyć co i jak i ewentualnie
poprawić ten opis.
--------------------------------------------------------------------------------
Program DUCH jest rozprowadzany jako freeware. Można go używać
i rozpowszechniać w niezmienionej postaci, bez żadnych ograniczeń
i bez żadnych opłat. Zabrania się deasemblacji programu lub zmieniania
zawartości plików należących do programu. Autor nie ponosi odpowiedzialności
za szkody wynikłe z używania oraz działania tego programu.
Minimalne wymagania systemowe:
- Windows NT+SP3
- Windows 2000
- Windows XP
- lub nowszy niż te powyżej
Program nie działa pod W9x/ME.
Duch został przetestowany na Win2000Prof + SP4.
Jeżeli ktoś posiada innego Windowsa to proszę o informacje czy tam Duch działa.
Program powstał przy pomocy Borland Delphi (www.borland.com).
--------------------------------------------------------------------------------
PLIKI PROGRAMU:
Duch.exe - wymagany; główny plik programu
DuchKonf.exe - program do konfiguracji
DuchDLL.dll - biblioteka, która
pokazuje okienko, gdy komputer jest
zablokowany. W przypadku braku tej biblioteki program po prostu
nie pokaże okienka ;-))
DuchDLL.bmp lub
DuchDLLT.bmp - bitmapy zawierające okienka
wygląd okienek
Więcej informacji przy opisie DuchDLL.
--------------------------------------------------------------------------------
Przy pomocy programu można:
- obsługiwać dodatkowe klawisze na klawiaturze (uruchamiać pliki, wysyłać
komunikaty, itp.)
- "wyłączać" klawisze
- przemapować klawisze (łącznie z klawiszami specjalnymi: ALT, CTRL,
SHIFT)
- emulować wcisnięcia klawiszy dla programów w tle
- opcja blokowania komputera
- wysuwać/zamykać tackę CD-ROMu z poziomu klawiatury
- obsługiwać Winampa
- zmianiać głośność
- robić wszystko za pomocą ruchów myszki (gesty)
- kierować myszką z poziomu klawiatury
- obsługiwać statusy w komunikatorze Tlen.pl
- obsługiwać przeglądarkę IE
- obsługiwać czas bezczynności systemu
- przemapowywać klawisze myszki (lewy, rodkowy i prawy)
--------------------------------------------------------------------------------
INSTALACJA:
Należy rozpakować Ducha do jakiegoś katalogu i tyle ;-))
--------------------------------------------------------------------------------
KONFIGURACJA:
Najpierw nalezy uruchomić Ducha (duch.exe). Potem można już odpalić program
konfiguracyjny DuchKonf (DuchKonf.exe). Program ten składa się z 2 okienek:
- to po lewej pokazuje kody wszystkich aktualnie wciskanych klawiszy
- to po prawej to zawartość pliku Duch.dat (czyli konfiguracja Ducha)
Okno z kodami uzupełnia się samo (w miarę wciskania klawiszy). Można je
wyczyścić ("Wyczyść listę") lub zablokować ("Zablokuj dodawanie kodów").
Ostatnią opcją jest "Zablokuj przetwarzanie klawiszy". Służy ona do całkowitego
blokowania klawiatury (w celu zdobycia niektórych kodów klawiszy np: ALT+F4 -
gdyby nie ta opcja to okno programu zostałoby zamknięte).
Odnośnie kodów:
Każda linia w tym oknie to ZnakASCII wciśniętego klawisza, średnik i 3 kody
tego klawisza. Wpisując kody do poleceń programu (o tym później) nalezy pamiętać
o wycięciu tego znaku przed średnikiem razem z tym średnikiem.
Drugie okno - jak już pisałem - zawiera plik konfiguracyjny Duch.dat. Jest to
normanly plik tekstowy z wypisanymi komendami dla Ducha. Każda linia może
scharakteryzować jeden klawisz lub też jedną kombinację klawiszy. To zależy od
użytej opcji. Pomocna przy wypełnianiu tego pliku jest lista dostepnych poleceń.
Można się do niej dostać poprzez kliknięcie prawym klawiszem myszki w tym oknie
lub poprzez kliknięcie przycisku "Wstaw polecenie". W obu przypadkach dane
polecenie zostanie wstawione w miejsce gdzie znajduje się kareta (jakby ktoś nie
wiedział: ta migająca kreseczka ;-)). Po wybraniu niektórych poleceń z listy
(np. Plik, Key) pojawią się okna pomagające w konfiguracji.
Pisząc plik konfiguracyjny należy pamiętać o kilku zasadach:
- Wszystkie polecenia napisane po danej deklaracji klawisza, a przed następną
deklaracją należą do tej pierwszej (nie trzeba pisac wszystkich
poleceń
w jednej linii)
- Wszystkie linie rozpoczynające się znakiem "#" są ignorowane
- Jeżeli znak "#" wystepuje w środku linii to ignorowane jest wszystko przed
tym znakiem
Przykładowy plik konfiguracyjny:
<PLIK>
ALT+TAB# {Key 9,15,32}
ESC# {Key 27,1,0} <Run notepad.exe>
<Group abcd><Group abd>
F1# {Key 112,59,0} <Command Block><SetGroup>
F2# {Key 113,60,0} <MapKey 112,59,0>
#F3# {Key 114,61,0} <Run mspaint.exe><Command Block>
<SetGroup abcd>
A->B# {Comb 65,} <MapKey 66,><DonTDelKey>
X->Ą# {Comb 88,} <MapKey 65,LAlt><OnlyIfLockOn NumLock>
WinL# {Key 91,91,1} <MapSpec lshift,ralt>
Password=1234
DfGroup=abcd
</PLIK>
Opis danych w pliku konfiguracyjnym: (opis poleceń jest niżej)
ALT+TAB# - ta linijka blokuje skrót ALT+TAB
ESC# - przy wcisnięciu klawisza ESC odpala notatnika (i blokuje klawisz ESC)
dodatkowo klawisz ESC nalezy do grup: abcd i abd
F1# - blokuje komputer
zmienia grupę na grupę ogólną
F2# - przemapowuje klawisz F2 na F1
#F3# - to linia jest cała komentarzem (znak "#" jest pierwszy w linii)
gdyby go wyrzucić to przy naciśnięciu F3 odpaliłby się notatnik
i komputer zostałby zablokowany; i jeszcze znieniłby grupę na abcd
A->B# - przemapowanie A na B i dodatkowo litera A nie zostanie wykasowana
(czyli w efekcie to jakby się wcisnęło B, a potem A)
X->Ą# - przemapowanie X na Ą ale tylko wtedy gdy NumLock jest włączony
WinL# - przemapowuje lewy klawisz Windows (o kodach 91,91,1) na kombinacje
lewy SHIFT + prawy ALT
UWAGI:
W deklaracji klawiszy "{Comb 65,}" i "{Comb 88,}" na końcu wystapiły przecinki.
Są one NIEZBĘDNE, nawet jezeli po nich nie występuje żaden modyfikator.
--------------------------------------------------------------------------------
Ogólna charatektystyka danych:
Każda linijka może być deklaracją klawisza lub też opcją programu.
--------------------------------------------------------------------------------
OPIS MODYFIKATORÓW:
LAlt - lewy ALT
RAlt - prawy ALT
LShift - lewy SHIFT
RShift - prawy SHIFT
LCtrl - lewy CTRL
RCtrl - prawy CTRL
LWin - lewy klawisz Windows
RWin - prawy klawisz Windows
APPS - klawisz Windowsowy po prawej stronie (wywołuje menu kontekstowe);
nie wiem jak go nazwać ;))
DEKLARACJE KLAWISZY:
każda linijka składa się z części:
komentarz# {kod_klawisza}<POLECENIE1><POLECENIE2>...
- (dane dla konfiguracji klawisza są oznaczone nawiasami "{" i
"}"; polecenia
dla klawisza oznaczone są znakami "<" i
">")
- w jednej linijce może być tylko jedna informacja o kodzie klawisza
Opis składowych:
- komentarz -> ;-)) (nie jest wymagany)
- {kod_klawisza} -> kody charakteryzujące klawisz (lub kombinacje
klawiszy)
Typy kodów:
- {Key kod_1, kod_2, kod_3} -> deklaracja klawisza na podstawie 3 kodów
-> kod_1, kod_2 i
kod_3 - kody podane przez program konfiguracyjny
- {Comb kod_ascii, mod} -> deklaracja klawisza na podstwie kodu ASCII
i modyfikatorów
-> kod_ascii - kod ASCII wybranego klawisza
-> mod - modyfikatory:(porozdzielane przecinkami)
[LAlt,
RAlt, LShift, RShift,
LCtrl, RCtrl, LWin,
RWin, APPS]
- {KeySpec kod_1, kod_2, kod_3, mod} -> deklaracja klawisza na podstawie
3 kodów i modyfikatorów
-> kod_1, kod_2 i
kod_3 - kody podane przez program konfiguracyjny
-> mod - modyfikatory:(porozdzielane przecinkami)
[LAlt,
RAlt, LShift, RShift,
LCtrl, RCtrl, LWin,
RWin, APPS]
UWAGA !!!
Deklaracji KeySpec można używać, aby stworzyć akcję dla klawisza już
zdefiniowanego (poleceniem KEY) ale z modyfikatorem:
{KEY 65,30,0}<run notepad.exe>
{KEYSPEC 65,30,0, lShift}<run mspaint.exe>
W powyższym przypadku NIGDY mspaint.exe nie zostanie uruchomiony,
ponieważ zawsze pierwsze będzie brane pod uwagę polecenie
KEY. W takim
przypadku należy najpierw napisać polecenie
KEYSPEC, a później KEY:
{KEYSPEC 65,30,0, lShift}<run mspaint.exe>
{KEY 65,30,0}<run notepad.exe>
- {MouseMove gest} -> deklaracja
gestu
"Gest" jest to lista ruchów myszki, które
trzeba wykonać żeby dane
zadania zostały wykonane. Podczas trzymania wciśniętego
przycisku myszki
(zobacz
opcja MouseMoveButton)
należy wykonać zadeklarowany ruch.
Podczas niego cały czas na pulpicie w okienku będą
pokazywane wartości
odpowiadające wykonanym już ruchom (oczywiście,
jeżeli okienka te nie
będą
wyłączone; opcja ShowWindows).
Ruchy te dzielą się na konkretne
kierunki (1-8). Wygląda
to tak:
1
2 3 (1-
lewo-góra; 2-
góra; 3-
prawo-góra)
4
5 (4-
lewo; 5- prawo)
6
7 8
(6- lewo-dół;
7- dół; 8-
prawo-dół)
Przykładowy gest:
{MouseMove 7358}
Spowoduje on, że po narysowaniu pierwiastka (no,
mniej więcej ;)) nastąpi
wykonanie wszystkich zadeklarowanych poleceń.
--> WIELKIE
DZIĘKI DLA SPOOKA ZA POMOC PRZY GESTACH !!! <--
- {SystemIdle ile_sekund} -> deklaracja
czasu bezczynności komputera
"Ile_sekund" określa czas po jakim,
przy bezczynności komputera, dane
polecenia zostaną wykonane. Na podobnej zasadzie
działa wygaszacz ekranu
(po X minutach włącza wygaszacz, wyłącza
monitor, itp).
Minimalna ilość sekund to 10.
- {OnEvent zdarzenie} -> deklaracja
poleceń na dane zdarzenie
-> zdarzenie -
zdarzenie na które mają zostać wykonane polecenia
- CompBlockOn - zablokowanie
komputera (przez Ducha)
- CompBlockOff - odblokowanie
komputera (przez Ducha)
- {MouseButton przycisk} -> deklaracja
klawisza myszki
-> przycisk - nazwa
przycisku myszki
- LButton - lewy przycisk myszki
- MButton - rodkowy przycisk myszki
- RButton - prawy przycisk myszki
UWAGA !!!
Aby to działało musi być włšczona opcja MouseMoveOn
!!!
- <POLECENIE1> -> polecenie do wykonania
Typy poleceń:
- <Run ściezka_do_pliku|parametry> -> plik okreslony przez ściezka_do_pliku
zostanie uruchomiony z parametrami podanymi w "parametry";
można podać także ścieżkę do pliku innego niż EXE, a także
adres WWW lub inne polecenie; np: "mailto:kpawel@kr.onet.pl";
w takim wypadku należy pominąć parametry
- <Command komenda> -> uruchomienie wewnętrzenj komendy programu
- <Command Block> -> blokowanie komputera (opis niżej)
- <Command
SilentBlock> -> blokowanie komputera bez pokazywania okna
- <Command MouseMovesON> ->
włącza gesty
- <Command
MouseMovesOFF> -> wyłącza gesty
- <MapKey kod_ascii, mod> -> przemapowanie zdefiniowanego klawisza na klawisz
o kodzie kod_ascii
-> mod - modyfikatory:(porozdzielane przecinkami)
[LAlt,
RAlt, LShift, RShift,
LCtrl, RCtrl, LWin,
RWin, APPS]
- <MapSpec mod> -> przemapowanie klawisza na klawisz specjalny
-> mod - jakie klawisze ma emulować: (można łączyć kilka na raz)
[LAlt,
RAlt, LShift, RShift,
LCtrl, RCtrl, LWin,
RWin, APPS]
-> MapSpec blokuje klawisz, który przemapowuje,
więc nie działa opcja NieKasujKlawisza
- <KeySend tytul, klasa,
kod_ascii, mod> -> emuluje wcisnięcia klawisza do
okna:
-> tytul - tytuł okna
-> klasa - nazwa klasy okna
(musi być podany przynajmniej jeden z powyższych parametrów)
-> kod_ascii - kod ASCII klawisza do "wciśnięcia"
-> mod - modyfikatory:(porozdzielane przecinkami)
[LAlt, RAlt,
LShift, RShift, LCtrl,
RCtrl, LWin, RWin,
APPS]
- <MessageSend tytul, klasa,
Message, WParam, LParam> -> wysyła do okna
komunikat Windows:
-> tytul - tytuł okna
-> klasa - nazwa klasy okna
(musi być podany przynajmniej jeden z powyższych parametrów)
-> Message, WParam,
LParam - dane do komunikatu (muszą to być wartości
liczbowe)
- <DonTBlockRepeat> -> podanie tej opcji spowoduje, że Duch nie będzie
blokował powtarzania klawisza przy jego wciśnięciu
(trzymaniu wciśniętym)
- <DonTDelKey> -> nie kasuj klawisza przy wykonaniu (normalnie Duch
wykonuje wszystkie polecenia i kasuje klawisz)
- <Group gr> -> przyporzadkowuje dany klawisz do grupy "gr" (klawisz można
przyporzadkować do kilku grup)
- <SetGroup gr> -> ustawia bieżącą grupę na
"gr"
- <SetGroup> -> ustawia bieżącą grupę na pustą - tym samym włącza wszystkie
klawisze
- <OnlyIfLockON key> -> określa które klawisze LOCK muszą był włączone żeby
skrót działał:
-> key - klawisze rozdzielone przecinkami:
- NumLock
- CapsLock
- ScrollLock
- <Volume zmiana_głośności, urządzenie_miksujące, wybór_głośności, sterownik_głośności>
-> zmienia głośność podanego sterownika
- zmiana_głośności:
1. liczba podająca zmianę głośności (ujemna zmniejsza
głośność, dodatnia zwiększa); głośność jest z zakresu
0..65535;
2. za zmiana_głośności można
też wstawić 3 wartości tekstowe:
- MuteOn
- włącza wyciszenie
- MuteOff
- wyłącza wyciszenie
- ChangeMute - zmienia stan wyciszenia na przeciwny
(tzn jak wyciszenie jest włączone
to je wyłącza; a jak
jest wyłączone to włącza)
- urządzenie_miksujące - numer (licząc od zera) urządzenia miksującego
- wybór_głośności
- numer (licząc od zera) wyboru głośności
- sterownik_głośności - numer (licząc od zera) sterownika głośności
Po kliknięciu "Wstaw polecenie" w
programie DuchKonf pojawi się okienko w którym trzeba
podać zmianę głosności, a pozostałe wartości
można wybrać z listy.
Powyższe 3 parametry są zależne od sprzętu. Aby je poprawnie ustawić
należy otworzyć okno Regulacji głośności "Volume control" i wejść do
właściwości (Opcje -> Właściwości). Na samej górze jest okienko wyboru
urządzenia miksującego (przeważnie będzie tylko jedno do wyboru).
Jako urządzenie_miksujące należy podać numer wybranego urządzenia
(przeważnie będzie to 0). Wybór_głośności jest to drugi parametr
okreslony jako "Ustawienie głośności" (Odtwarzanie, Nagrywanie,
czasami też pole Inne jest dostępne). Ostatnią wartością do ustawienia
jest sterownik_głośności. Jest to numer (licząc od zera) sterownika
głośności czyli ostatniego okna we Właściwościach.
UWAGA!!!
Jeżeli chcesz mieć płynną zmianę głośności
(podczas trzymania wciśniętych klawiszy)
musisz zastosować
<DonTBlockRepeat>.
Przykładowe zapisy:
Zapis zwiększający o 1/10 głośność:
<Volume 6553, 0, 0, 0>
6553 - o ile zwiększyć głośność
0 - urządzenie_miksujące
0 - wybór_głośności
0 - sterownik_głośności
Zapis zmniejszający o 1/10 głośność:
<Volume -6553, 0, 0, 0>
-6553 - o ile zmniejszyć głośność
0 - urządzenie_miksujące
0 - wybór_głośności
0 - sterownik_głośności
Zapis zwiększający o 1/10 głośność wyjścia Wave:
<Volume 6553, 0, 0, 1>
6553 - o ile zwiększyć głośność
0 - urządzenie_miksujące
0 - wybór_głośności
1 - sterownik_głośności
Zapis wyciszający wyjście Wave:
<Volume MuteOn, 0, 0, 1>
MuteOn - wycisz
0 - urządzenie_miksujące
0 - wybór_głośności
1 - sterownik_głośności
- <WriteText Tekst> -> pisze Tekst w miejscu gdzie jest kursor
(wystukuje na klawiaturze)
- <OpenCD litera_CD_ROMu> -> wysuwa tackę CD-ROMu
Poprawne wywołanie:
<OpenCD D>
- gdzie D jest to litera napędu CD-ROM w Twoim komputerze
- <CloseCD litera_CD_ROMu> -> zamyka tackę CD-ROMu
- <Winamp2 polecenie> -> wysyła do Winampa (2.x) dane polecenie:
POLECENIE - CO ROBI
- Prev
- poprzedni utwór
- Next
- następny utwór
- Play
- play
- Pause
- pauza/koniec pauzy
- Stop
- stop
- FadeOutStop - ścisz i stop
- StopAfterCurr - skończ po tym utworze
- FastForward5s - przewijanie: 5 sekund do przodu
- FastRewind5s - przewijanie: 5 sekund do tyłu
- RaiseVol - zwiększ poziom głośności o 1%
- LowerVol - zmniejsz poziom głośności o 1%
- CloseWinamp - zamknij Winampa
- PlayAudioCD - odtwarzaj płytę Audio
- PlayPause - Play/Pause
- ShowTitle
- wyświetla w okienku tytuł aktualnie granego utworu
Poprawne wywołanie:
<Winamp2 Next>
UWAGA !!!
Duch obsługuje tylko Winampa w wersji < 3.0 (cała seria 2.x). Jeżeli
masz Winampa3 i chcesz, żeby Duch z nim działał to musisz ściagnąć
i zainstalować plugin "Winamp 2x Plugin Manager" ze strony:
http://www.winamp.com/components3/detail.jhtml?componentId=118230
Po jego instalacji i uruchomieniu (w ustawieniach) Duch będzie poprawnie
sterował nowym Winampem.
- <Mouse polecenie> ->
wywołuje polecnie myszki:
POLECENIE - CO ROBI
- LPress
- emuluje wciśnięcie lewego przycisku myszki
(wciśnięcie przycisku i zwolnienie)
- MPress
- emuluje wciśnięcie środkowego przycisku myszki
(wciśnięcie przycisku i zwolnienie)
- RPress
- emuluje wciśnięcie prawego przycisku myszki
(wciśnięcie przycisku i zwolnienie)
- LDown
- emuluje wciśnięcie lewego przycisku myszki
(wciśnięcie przycisku; zwolnienie przy puszczeniu
klawisza)
- MDown
- emuluje wciśnięcie środkowego przycisku myszki
(wciśnięcie przycisku; zwolnienie przy puszczeniu
klawisza)
- RDown
- emuluje wciśnięcie prawego przycisku myszki
(wciśnięcie przycisku; zwolnienie przy puszczeniu
klawisza)
- Wheel
xxx - emuluje kręcenie kółka pionowego na myszce; xxx to
wartość
liczbowa, o ile pikseli przesunąć
(wartość dodatnia - w górę, ujemna - w dół)
- Move
xxx,yyy - przesuwa kursor myszki o podane wartości
xxx - zmiana pozycji w poziomie: wartość dodatnia
w prawo; ujemna w lewo
yyy - zmiana pozycji w pionie: wartość dodatnia
w dół; ujemna w górę
Przykładowe wywołania:
<Mouse LButton>
<Mouse MButton>
<Mouse RButton>
<Mouse Wheel 100>
<Mouse Move 10,-10>
UWAGA !!!
1. Różnica pomiędzy XPress, a XDown polega na
tym, że polecnia XPress są to
tylko "kliknięcia", a XDown trzymają
wciśnięty klawisz myszki tak długo, jak
długo jest trzymany wciśnięty klawisz na
klawiaturze (pomocne przy emulowaniu
zaznaczania myszką). Za to przy pomocy XPress można
pod jeden klawisz podpiąć
podwójne kliknięcie myszką (dwa polecenia
XPress obok siebie ;)).
2. Jeżeli chcesz, żeby po naciśnięciu klawisza
czynność przypisana
(np. ruch kursora) była wykonywana tak długo
jak trzymasz klawisz,
zastosuj polecnie <DonTBlockRepeat>.
- <WriteOnScreen tekst> ->
napisanie podanego tekstu na pulpicie
- <PlaySound plikWAV> ->
odtwarza w tle zadany plik WAV. Podanie pustego pliku
powoduje zatrzymanie odtwarzanych dzwięków.
- <WorkWhenCompIsBlocked> ->
wszystkie polecenia dla danego klawisza zostaną wykonane
nawet wtedy gdy komputer będzie zablokowany.
(opcja przydatna np. przy sterowaniu Winamp'em ;))
- <Tlen.polecenie parametry> ->
wykonuje polecenie dla komunikatora Tlen
(MUSI BYĆ ZAINSTALOWANA
WTYCZKA W TLENIE - DUCH_TLEN.TPL)
(między Tlen a poleceniem jest KROPKA !!!)
POLECENIE - CO ROBI
- SetStatus
- ustawia status w tlenie
Parametry:
protokół,status,czy_zmieniać_opis,opis
-> protokół - GG
lub TLEN; narazie innej mozliwości nie ma ;)
-> status - numer
nowego statusu (liczba z zakresu 1..7)
-> czy_zmieniać_opis -
znacznik, czy zmieniać opis czy pozostawić obecny
wartość 0 - zmień;
inna liczba - pozostaw bieżący
-> opis - nowy opis
(jeżeli czy_zmieniać_opis = 0)
(aby uzyskać
znak nowej linii należy użyć \n)
Przykładowe wywołania:
<Tlen.SetStatus
TLEN,2,0,Już wróciłem ;)\nNareszcie w domu.>
<Tlen.SetStatus
,4,1,>
- BroadcastMsg -
wysyła komunikat do wszystkich osób z którymi właśnie rozmawiamy
(czyli do każdego otwartego okna rozmowy)
Parametry:
Wiadomość
-> Wiadomość
- treść wiadomości, która zostanie wysłana
(aby uzyskać
znak nowej linii należy użyć \n)
Przykładowe wywołania:
<Tlen.BroadcastMsg
Zaraz wracam>
<Tlen.BroadcastMsg
Będę później\nNie ma mnie.>
- Plug - uruchamia
daną funkcję danego pluginu
Parametry:
NazwaPluginu Dane
-> NazwaPluginu
- nazwa wtyczki której funkcję nalezy wywołać
-> Dane
- jakieśtam dane (nazwa funckji, parametry)
więcej
informacji w opisach do wtyczek
Przykładowe wywołania:
<Tlen.Plug
AutoStatus SetProfil Tralala>
- <IE polecenie> ->
wykonuje polecenie dla przeglądarki IE (przeglądarka MUSI być aktywnym
oknem):
POLECENIE - CO ROBI
- Navigate:URL
- przechodzi do strony URL
- GoForward
- dalej
- GoBack
- wstecz
- GoHome
- strona główna
- Stop
- stop
- Refresh
- odśwież bieżącą stronę
- Search
- szukaj
- FullScreen
- włącza/wyłącza tryb FullScreen
- TheaterMode
- włącza/wyłącza tryb TheaterMode
Przykładowe wywołania:
<IE GoBack>
<IE Navigate:www.onet.pl>
- <OnlyIfTopWindow
tytul, klasa> ->
wszystkie polecenia dla danego klawisza zostaną wykonane
tylko wtedy gdy aktywnym oknem będzie to zdefiniowane przez
"tytul" i "klasa";
-> tytul - tytuł okna
-> klasa - nazwa klasy okna
Wystarczy podać tylko jedną wartość.
- <OnlyIfTopProgram
ścieżka_exe> ->
wszystkie polecenia dla danego klawisza zostaną wykonane
tylko wtedy gdy aktywnym oknem będzie okno programu ścieżka_exe.
-> ścieżka_exe -
ścieżka do pliku exe
- <PulpitIconsVisible
widoczne> -> pokazanie/ukrycie ikon pulpitu
-> widoczne - SHOW
lub HIDE
- <MenuStartVisible
widoczne> -> pokazanie/ukrycie paska Menu Start
-> widoczne - SHOW
lub HIDE
Jeżeli żadne polecenie nie jest napisane, a klawisz będzie zadeklarowany to
klawisz ten będzie wyłaczony (patrz "przykładowy plik konfiguracyjny": ALT+TAB).
--------------------------------------------------------------------------------
OPCJE PROGRAMU:
każda linijka składa się z części:
nazwa_opcji=wartość
nazwa_opcji:
Password -> hasło, które trzeba wpisać na klawiaturze, gdy komputer
jest zablokowany (blokowanie komputera -> opis niżej)
przykład:
Password=1234
DfGroup -> ustawia domyślną grupę (tą, która będzie aktywna po
włączeniu programu)
jeżeli chcesz, żeby po właczeniu programu domyślną grupą
była grupa pusta, pomiń tą opcję
przykład:
DfGroup=GRUPA 1
ShowWindows -> określa czy program pokazuje okienka
w dolnym prawym rogu ekranu
(np. przy
sterowaniu Winampem, zmianie grupy czy zmianie głośności)
Przyjmuje wartości:
TAK lub NIE (domyślnie
jest TAK)
przykład:
ShowWindows=TAK
WindowDistX
-> określa odległość (w pikselach) okienka od prawej krawędzi ekranu
przykład:
WindowDistX=0
WindowDistY
-> określa odległość (w pikselach) okienka od dolnej krawędzi ekranu
przykład:
WindowDistY=0
WindowShowTime -> określa
jak długo okienko ma być wyświetlane (w milisekundach);
(1000 ms = 1
sekunda)
przykład:
WindowShowTime=1500
MouseMoveButton -> określa
który przycisk myszki służy do wywołania gestu;
[LButton,
MButton, RButton]
(domyślnie jest MButton)
przykład:
MouseMoveButton=MButton
MouseMoveON ->
podanie tej opcji spowoduje, że gesty zostaną właczone przy
uruchomieniu programu (domyślnie są wyłączone). Gesty można
właczać i wyłączać komendami MouseMovesON i MouseMovesOFF)
przykład:
MouseMoveON
--------------------------------------------------------------------------------
IKONY
Czasami podczas działania programu pojawiają się ikonki (np. przy sterowaniu
Winampem) [jeżeli nie są wyłączone: patrz Opcje, polecenie
ShowWindows]. Istnieje
mozliwość ich zmiany. Wszystkie te ikony znajdują się w podkatalogu Ikony.
Wystarczy zmienić je na swoje. Po zmianie którejkolwiek ikony nie trzeba restartować
Ducha. Usunięcie którejkolwiek ikony spowoduje, że przy przydzielonej jej akcji nie
będzie wyświetlane nic.
Lista obrazków w podkatalogu Ikony:
Winamp_Prev.bmp
- Previous track
Winamp_Next.bmp
- Next track
Winamp_Play.bmp
- Play
Winamp_Pause.bmp
- Pause/Unpause
Winamp_Stop.bmp
- Stop
Winamp_FadeOutStop.bmp - Fadeout and stop (Ścisz i stop)
Winamp_StopAfterCurrent.bmp - Stop after current track
Winamp_FastForward.bmp - Fast-forward 5 seconds
Winamp_FastRewind.bmp - Fast-rewind 5 seconds
Winamp_RaiseVolume.bmp - Raise volume by 1%
Winamp_LowerVolume.bmp - Lower volume by 1%
Winamp_PlayAudioCD.bmp - Play audio CD
vol_panel.bmp
- Tło panelu głośności
vol_button.bmp
- Suwak
vol_mute.bmp
- Ikonka wyciszenia
UWAGA !!!
1. Przy tworzeniu/modyfikowaniu bitmap należy pamiętać, że jeden kolor będzie
kolorem
"przeźroczystym". Kolor ten jest pobierany z
piksela znajdującego się w dolnym lewym
bitmapy.
2. Pliki ikon nie mogą być większe niż 50 KB !!!
--------------------------------------------------------------------------------
PROGRAM KONFIGURACYJNY (DuchKonf.exe):
Program ten słuzy do konfiguracji Ducha. Aby uruchomić ten program należy
najpierw uruchomić Ducha. W pierwszym oknie pojawiają się kody wciskanych
klawiszy (już w takiej kolejności w jakiej trzeba je wpisać do pliku
konfiguracyjnego). Drugie okno to zawartość pliku konfiguracyjnego.
Opcje górnego okna:
- "Wyczyśc listę" - czyści okno kodów klawiszy
- "Zablokuj dodawanie kodów" - nie dodaje do tej listy kodów właśnie
wciskanych klawiszy
- "Zablokuj przetwarzanie klawiszy" - całkowicie blokuje klawiaturę
(można wtedy zobaczeć jakie kody mają kombinacje ALT+F4, itp.)
Opcje dolnego okna:
- "Zastosuj zmiany" - zapisuje zmiany do pliku i automatycznie zastosowuje się
do nich
- menu kontekstowe z wszystkimi poleceniami: należy kliknąć prawym klawiszem
myszki na dolnym okienku
--------------------------------------------------------------------------------
BLOKOWANIE KOMPUTERA:
Duch umożliwia zablokowanie komputera, bez ukrywania zawartości ekranu.
Aby zdefiniowac klawisz, który będzie blokował komputer należy jako
POLECENIE podać <Block> (patrz DEKLARACJE
KLAWISZY).
Żeby mozna było zablokować komputer potrzebne jest także hasło,
które trzeba ustawić (patrz OPCJE PROGRAMU).
UWAGA !!!
- WPISUJĄC HASŁO NIE NALEŻY PODAWAĆ ZNAKÓW WYMAGAJĄCYCH WCIŚNIĘCIA
KLAWISZY SPECJALNYCH (ALT, CTRL, SHIFT);
- ABY ODBLOKOWAĆ KOMPUTER NALEZY PODAĆ DOKŁADNIE TAKIE SAMO HASŁO
(WIELKOŚĆ LITER NIE MA ZNACZENIA);
- NIE MA HASŁA "SERWISOWEGO". JEŻELI NIE ZAPAMIETAŁEŚ HASŁA
TO POZOSTAJE RESET... ;(.
Aby zmienić hasło należy wpisać je do pliku a nastepnie ZRESETOWAĆ Ducha
(reszta ustawień wymaga kliknięcia ZASTOSUJ w programie DuchKonf).
--------------------------------------------------------------------------------
ABY ZAMKNĄĆ DUCHA:
Nalezy ponownie uruchomić plik Duch.exe i odpowiedzieć TAK na pytanie lub
uruchomić plik Duch.exe z parametrem /CLOSE.
--------------------------------------------------------------------------------
DUCHDLL.DLL:
Jest to biblioteka pokazująca okienko, gdy komputer zostanie zablokowany
Wygląd okienka jest czytany z pliku: DuchDLL.bmp lub
DuchDLLT.bmp.
Oba pliki to zwykłe bitmapy, jednak w przypadku drugiego pliku
program potraktuje obrazek jako bitmapę transparentną (tzn., jeden kolor
będzie przeźroczysty; kolor ten zostanie pobrany z piksela w dolnym, lewym
rogu
bitmapy). Sposób wybierania obrazków jest prosty: jeżeli w katalogu Ducha będzie
się znajdował plik DuchDLL.bmp to
zostanie on wybrany jako obrazek. W przypadku
jego braku, program sprawdzi czy istnieje plik DuchDLLT.bmp.
Jeżeli tak to
zostanie wybrany, jeżeli nie - nie zostanie wyświetlone nic.
Jeśli chcesz - możesz sam napisać tę bibliotekę.
Wadą oryginalnej jest jej wielkość. Nie mam czasu tego poprawić.
Jednak jeżeli masz chęć i czas to: musisz napisać DLLa, który eksportuje
3 procedury:
- ShowWindow;
- HideWindow;
- RefreshWindow;
dodatkowo może eksportować procedurę:
- MoveWindow(const nX, nY : Integer);
Każda z tych procedur musi mieć klauzulę STDCALL (tak jest w Delphi).
Działania:
- ShowWindow - jest uruchamiana gdy trzeba pokazać okno (w momencie blokowania
komputera);
- HideWindow - uruchamiana, gdy trzeba zamknąć okno (przy odblokowywaniu
komputera)
- RefreshWindow - wywoływana zawsze, gdy forma otrzyma
WM_PAINT;
w tej procedurze trzeba odświezyć formę
- MoveWindow - wywoływana zawsze, gdy użytkownik
poruszy myszką;
w tej procedurze można obsłużyć przesuwanie formy razem z
ruchem myszki
(nowa pozycja kursora jest podawana w nX i nY).
Żeby biblioteka działała z Duchem to musi eksportowac 3 pierwsze procedury
(ShowWindow, HideWindow
i RefreshWindow).
--------------------------------------------------------------------------------
I to już jakby koniec...
Mam nadzieję, że ta "instrukcja" była w miarę zrozumiała ;-))
Jeżeli nie to proszę o maila - postaram się wytłumaczyć co i jak i ewentualnie
poprawić ten opis.