Hallo zusammen :D,
Bin bin gerade bei via VBA (logisch in diesem Abteil) in ein Fenster zu hooken zu dort meine visuellen Dinge zu Zeichen.
Btw. es ist kein richtiges Vba, in der Software ist das so ein Misch masch.
e.g wenn ich beim Import nicht byval (was eig. default ist) angebe, funktioniert dieser nicht oder Unsigned-Typen gibt es auch nicht. Bit-Shiften erst recht nicht.
Back to Top:
Das Zeichen funktioniert so weit. Hab es einmal kurz gesehen und dann hat mir WM_PAINT wieder alles überzeichnet.
Nun will ich via Hook nach WM_PAINT zeichnen und da kommt der Knackpunkt, die Software stürzt jedes mal ab, wenn ich beginne zu hooken
Meine Imports sehen wie folgt zu Hook aus.
Der aufruf zum Hook
und die CallBack
Stürzt das programm deswegen ab, weil ich
Muss ich
Hab ich beim Import fehler gemacht?
Bin bin gerade bei via VBA (logisch in diesem Abteil) in ein Fenster zu hooken zu dort meine visuellen Dinge zu Zeichen.
Btw. es ist kein richtiges Vba, in der Software ist das so ein Misch masch.
e.g wenn ich beim Import nicht byval (was eig. default ist) angebe, funktioniert dieser nicht oder Unsigned-Typen gibt es auch nicht. Bit-Shiften erst recht nicht.
Back to Top:
Das Zeichen funktioniert so weit. Hab es einmal kurz gesehen und dann hat mir WM_PAINT wieder alles überzeichnet.
Nun will ich via Hook nach WM_PAINT zeichnen und da kommt der Knackpunkt, die Software stürzt jedes mal ab, wenn ich beginne zu hooken
Meine Imports sehen wie folgt zu Hook aus.
Visual Basic-Quellcode
- 'https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setwindowshookexa
- Public Declare Function SetWindowsHookEx Lib "User32.dll" Alias "SetWindowsHookExA" (ByVal idHook As HookType, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
- 'https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setwindowshookexa
- Public Declare Function CallNextHookEx Lib "User32.dll" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
- 'https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-unhookwindowshookex
- Public Declare Function UnhookWindowsHookEx Lib "User32.dll" (ByVal hHook As Long) As Boolean
- Public Enum HookType
- WH_JOURNALRECORD = 0
- WH_JOURNALPLAYBACK = 1
- WH_KEYBOARD = 2
- WH_GETMESSAGE = 3
- WH_CALLWNDPROC = 4
- WH_CBT = 5
- WH_SYSMSGFILTER = 6
- WH_MOUSE = 7
- WH_HARDWARE = 8
- WH_DEBUG = 9
- WH_SHELL = 10
- WH_FOREGROUNDIDLE = 11
- WH_CALLWNDPROCRET = 12
- WH_KEYBOARD_LL = 13
- WH_MOUSE_LL = 14
- End Enum
Der aufruf zum Hook
Visual Basic-Quellcode
und die CallBack
Stürzt das programm deswegen ab, weil ich
GetCurrentThreadId
aufrufe, aber mein Fenster in dem ich zeichnen will ein Kind-Fenster ist?Muss ich
GetModuleHandleA
aufrufen um es zu zuordnen können?Hab ich beim Import fehler gemacht?