Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] WinAPI.au3


Rekomendowane odpowiedzi

Opublikowano

Witam, potrzebuję pomocy z _WinAPI_SetWindowsHookEx, problem polega na tym, że trzymając ALT, w konsoli nie pojawiają się już żadne sygnały z innych klawiszy, da się to jakoś obejść, nawet tak, aby w ogóle nie było żadnej reakcji na wciśnięcie ALT.

obraz24.png


Opublikowano
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <StructureConstants.au3>Global $hHook, $hStub_KeyProc, $buffer = ""
global $i = 0
_Main()Func _Main()
OnAutoItExitRegister("Cleanup")Local $hmod$hStub_KeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
$hmod = _WinAPI_GetModuleHandle(0)
$hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($hStub_KeyProc), $hmod)
While 1
  Sleep(1)
WEnd
EndFunc   ;==>_MainFunc _KeyProc($nCode, $wParam, $lParam)
$tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
$f = DllStructGetData($tKEYHOOKS, "vkCode")
if $i = $f Then
$i = 0
Else
  ConsoleWrite($f & @CRLF)
$i = $f
EndIf
Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
EndFunc   ;=
Func Cleanup()
_WinAPI_UnhookWindowsHookEx($hHook)
DllCallbackFree($hStub_KeyProc)
EndFunc   ;==>Cleanup
 

kliknięcie alt = 164

kliknięcie innego guzika = 1(trzymając nadal alt) = 49

puszczenie alt = 164

więc alt nic nie blokuje

a jak nie pasuje to guiregistermsg

ew. macro @hotkeygetstate(nie wiem czy poprawnie, sam sprawdz dokladną nazwe)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...