Hotkey odpalający program, zawsze!

0

Witam,
Mam sobie problematyczną aplikację fullscreenową, która jak się zawiesza, fajnie byłoby ją killnąć jak się zwiesi, bo niestety alt-tab, win-l i inne magiczne skróty przestają mieć znaczenie (tj działają, ale obraz zostaje). Pomaga hibernacja (klawiszem) i ponowne odpalenie, wtedy widać pulpit i można task managerem sobie killnąć.
Odnalazłem sobie polecenie "taskkill", które byłoby fajne, tylko że na ślepo ciężko mi to uruchomić, więc pomyślałem o skrócie klawiaturowym, który by działał ZAWSZE, niezależnie od aktywnej aplikacji, i odpalał jakiś tam mój *.bat czy polecenie taskkilla.

Ew. w cpp/javie takie coś (tj wykrywa klawisz niezależnie od focusu na mojej aplikacji i odpala taskkilla, bądź "natywnie" killuje jakiś tam proces) - nie powinno być długie, ja te języki raczej z teorii ze studiów znam, a myślę, że większość z was z pamięci napisze :)

Dzięki z góry

0

Myślę że do tego nadaje się funkcja SetWindowsHookEx. (Za to taskkill trocję mniej - proces nie będzie miał szansy na zwolnienie zasobów)

Możesz spróbować w każdym razie.

0
MSM napisał(a)

Za to taskkill trocję mniej - proces nie będzie miał szansy na zwolnienie zasobów

Nie żyjemy w czasach Windows 3.1/innej nakładki na DOS. Wszystko pozwalnia system - pamięć, otwarte uchwyty...

0

Swoją drogą mam pytanie związane z hookami. Mam aplikację (PES 2010), która nie wiadomo dlaczego zakłada najprawdopodobniej hook na klawiaturę i nie woła CallNextHookEx, dzięki czemu nie działają mi klawisze multimedialne. Żeby zmienić piosenkę, muszę włączyć pauzę, zminimalizować grę i dopiero zmienić piosenkę. Da się coś z tym zrobić? Napisać dodatkową aplikację? Jak sprawić by Winamp znalazł się w kolejce przed PESem?

0
deus napisał(a)

Nie żyjemy w czasach Windows 3.1/innej nakładki na DOS. Wszystko pozwalnia system

Ubity proces nie ma szansy na zapisanie otwartych plików, wylogowanie z zasobów sieciowych (zostaną tylko zerwane połączenia). Z drugiej strony, mówimy o aplikacji już zawieszonej, więc to nie ma znaczenia…

0
MSM napisał(a)

Myślę że do tego nadaje się funkcja SetWindowsHookEx. (Za to taskkill trocję mniej - proces nie będzie miał szansy na zwolnienie zasobów)

niestety za mało mi to mówi, aczkolwiek to chyba ciut poza moim pytaniem głównym?

0

Myślę że do tego nadaje się funkcja SetWindowsHookEx.

Mozesz to rozwinac? Bo nie rozumiem w czym to hook pomoze - no chyba ze chcrsz zakladac hooka na klawiature, ale nie jest to konieczne, mozna skorzystac z tego:

http://msdn.microsoft.com/en-us/library/ms646309%28VS.85%29.aspx

Aplikacja dostaje info, ze ktos nacisnal skrot klawiszowy i moze z tym zrobic co chce.

1 użytkowników online, w tym zalogowanych: 0, gości: 1