Problem z HotKey'em - nie działa w grze ;/.

0

Witam,

Mam grę, która dość często zawiesza się tzn. obraz się zawiesza, Alt+Tab i inne kombinacje nie działają. Pomyślałem, że dobrym rozwiązaniem byłoby zamknięcie procesu przez kombinacje klawiszy. Wszystko działa, gdy okno gry nie jest aktywne. Gdy już grę uruchomię i jej okno będzie na wierzchu - obojętnie jaką kombinację wcisnę nic się nie dzieje...

Kod wygląda tak samo jak we wszystkich tutorialach dot. HotKeyów:

//Tworzenie HotKeya
if not RegisterHotkey(Form1.Handle,1) then showmessage('Nie można użyć hotkeya');
//Usuwanie HotKeya
UnRegisterHotkey(Form1.Handle,1);

//Wywołanie hotkeya
Procedure TForm1.WMHotkey( Var msg: TWMHotkey ) ;
Begin
  if msg.hotkey = 1 then Zamknij; {Procedura do zamykania gry}
End;

Kod do zamykania gry działa, ponieważ z komponentem KeySpyXP nie miałem problemów. Jednak jest on wykrywany przez antywirusa jako KeyLogger i właśnie dlatego z niego zrezygnowałem :). Czy jest jeszcze jakiś inny sposób na skróty klawiszowe?

0

Nie pisać malware i nie używać czegoś takiego jak KeySpyXP, tylko napisać własny
hook, przykład masz na: http://pastebin.pl/35884 i jeśli po przechwyceniu klawisz
ma być przeakzany dalej to z Result := 1; zmień na 0. A inny sposob, ale tylko w
aplikacjach okienkowych, to funkcja RegisterHotKey. A więcej informacji w google.

0

Może po przeczytaniu tego założycie że trafię do czubków, ale między geniuszem i szaleńcem jest cienka linia:

Edytuj bibliotekę *.dll tej gry, i w czymś na kształt zdarzeń wrzuć ten kod.

0
TomRiddle napisał(a)

Może po przeczytaniu tego założycie że trafię do czubków, ale między geniuszem i szaleńcem jest cienka linia:
Edytuj bibliotekę *.dll tej gry, i w czymś na kształt zdarzeń wrzuć ten kod.

My nie zakładamy, że tam trafisz. My to już wiemy... :P

0

Ok, dzięki za kod. Myślę, że się przyda :). Edycja biblioteki *.dll gry nie wchodzi w grę :). A program robię tylko po to, aby uniknąć każdorazowego resetowania komputera. Mam nadzieję, że dalej już sobie poradzę.

0

A jeśli chcesz pójść 'na łatwiznę', to możesz też użyć gotowego programu SuperF4.

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