Używam funkcji RegisterHotKey do zarejestrowania klawiszy od F1 do F12, wszystkie działają świetnie poza klawiszem F12. Sprawdziłem błąd funkcją SysErrorMessage i wyskoczyło "klawisz dostępu jest już zarejestrowany".
Zrestartowałem kompa i zaraz po restarcie odpaliłem program i mam to samo. Dlaczego jedenaście "eFów" działa, a F12 już nie? Jakiś program w systemie go przejął, czy jak? Proszę o pomoc.
RegisterHotKey działa globalnie na cały system.
Więc z całą pewnością jakiś inny program go przyjął.
A czy masz pomysł jak sprawdzić, który program go zajął? jak na pulpicie kliknę F12 to nic się nie dzieje, nie odpala się żaden program, inaczej nie potrafię sprawdzić (mam wchodzić w panel AMD itd i tam szukać, czy coś jest?)
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646309%28v=vs.85%29.aspx
wyszukaj F12
Czyli - twoje środowisko.
czyli debbuger mi F12 kradnie? Jak się tego pozbyć? Skompilowałem program normalnie teraz (z 10 MB na 2 MB), delphi dodatkowo wyłączyłem i F12 nie działa dalej, program niezależnie od skompilowania będzie mi F12 rejestrował, czy jak? A i dzięki, że mi pomagasz
Podałem link, przeczytaj uważnie.
@OP, ułatwię Ci robotę z szukaniem:
Even when you are not debugging an application, F12 is reserved in case a kernel-mode debugger or a just-in-time debugger is resident.
Innymi słowy: nie ma szans na podpięcie pod to hotkeya.
Ostatnio o czymś podobnym pisano. Także już było!!! Czy aż tak cięzko się rozejrzeć po forum? Zobacz na temat: Jak poprawnie sprawdzić wciśnięcie klawisza (GetKeyState) w TTimer? i masz tam link do innego forum. Na nim masz kod źródłowy na rozwiązanie globalnego HotKey'a dla na prawdę całego systemu po swojemu. Kod napisany na bazie tego z Cheat Engine w wersji 5.6 i dostosowany do użycia najlepiej pod WinAPI.