Autor Wątek: Globalny Hotkey - problem  (Przeczytany 3341 razy)

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

Offline amras

  • Narybek
  • *
Globalny Hotkey - problem
« dnia: Października 17, 2010, 11:04:06 am »
W związku z brakiem funkcji BossKey w komunikatorze, chciałem doimplementować w/w funkcję w postaci wtyczki. Wstępnie udało mi się "poprosić" wszystkie okna o zniknięcie, pracuję nad ikoną w tray'u. Napotkałem jednak problem z założeniem globalnego hotkey. Z tego co wiem, metody są dwie;

GetAsyncKeyState() - jednak to powinno wykonywać się w pętli której wtyczka nie posiada (no chyba że chcę przywiesić komunikator),

RegisterHotKey() - tutaj bez problemu działa rejestracja (używam hwnd okna głównego wtw) - jednak nie dostaję od okna informacji kiedy hotkey zostanie wciśnięty

wydaje mi się, że RegisterHotKey() będzie lepszym wyjściem, ale nie mam pomysłu jak poprosić okno, żeby po zebraniu mojego skrótu klawiaturowego przekazało je do wtyczki... z góry dziękuję za jakikolwiek pomysł.


Offline suawek

  • Senior Developer
  • Młodzież
  • *
Odp: Globalny Hotkey - problem
« Odpowiedź #1 dnia: Października 17, 2010, 18:49:11 pm »

Offline amras

  • Narybek
  • *
Odp: Globalny Hotkey - problem
« Odpowiedź #2 dnia: Października 19, 2010, 22:01:15 pm »
Głupie pytanie... ale jak tego użyć? W necie na "Window Message Filter" wyskakuje mniej więcej tyle, żeby dało się zrozumieć jak to działa, ale już nie tyle żeby użyć... chyba że nie umiem szukać.

Pomocy? :)

Offline suawek

  • Senior Developer
  • Młodzież
  • *
Odp: Globalny Hotkey - problem
« Odpowiedź #3 dnia: Października 20, 2010, 11:03:24 am »

Offline amras

  • Narybek
  • *
Odp: Globalny Hotkey - problem
« Odpowiedź #4 dnia: Października 21, 2010, 10:43:25 am »
wndProc : WTWFUNCTION;
cbData : pointer;

Nie wiem jak wypełnić te zmienne. Próbowałem chyba wszystkiego, nawet nie da się skompilować ._. Mam niejasne wrażenie że zadanie mnie przerasta. Właśnie dlatego przydałyby się okomentowane przykłady na zastosowanie sdk wtw...

Pięknie proszę o pomoc. Znowu :(


Offline sWirus

Odp: Globalny Hotkey - problem
« Odpowiedź #5 dnia: Października 21, 2010, 15:55:35 pm »
cbData to pointer który zostanie zwrócony do funkcji wndProc (ostatni jej argument).

wndProc to funkcja typu WTWFUNCTION. W tym wypadku będą do niej wysyłane jak sądzę wiadomości z okna hWindow.
W tej chwili nie pamiętam jak dokładnie jej nagłówek wygląda ale idzie to znaleźć w API.
Oblałem test Turinga... damn ;/

Offline mucha

  • Senior Developer
  • Młodzież
  • *
Odp: Globalny Hotkey - problem
« Odpowiedź #6 dnia: Października 21, 2010, 16:42:00 pm »