![]() |
|
|
|
#1
|
|||
|
|||
|
I think the key might be here:
Code:
<00174> 0024094C P WM_SYSKEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:00 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 <00175> 0024094C S message:0xBD04 [Benutzerdefiniert:WM_USER+47364] wParam:00000012 lParam:20000001 <00176> 004206AA S message:0xB016 [Benutzerdefiniert:WM_USER+44054] wParam:00000012 lParam:20000001 <00177> 004206AA R message:0xB016 [Benutzerdefiniert:WM_USER+44054] lResult:00000000 <00178> 0024094C R message:0xBD04 [Benutzerdefiniert:WM_USER+47364] lResult:00000000 <00179> 0024094C P WM_SYSKEYDOWN nVirtKey:'P' cRepeat:1 ScanCode:00 fExtended:0 fAltDown:1 fRepeat:0 fUp:0 <00180> 0024094C S message:0xBD04 [Benutzerdefiniert:WM_USER+47364] wParam:00000050 lParam:20000001 <00181> 004206AA S message:0xB016 [Benutzerdefiniert:WM_USER+44054] wParam:00000050 lParam:20000001 <00182> 004206AA S message:0xB03F [Benutzerdefiniert:WM_USER+44095] wParam:00000000 lParam:01CB8420 .... <00200> 004206AA R message:0xB016 [Benutzerdefiniert:WM_USER+44054] lResult:00000001 <00201> 0024094C R message:0xBD04 [Benutzerdefiniert:WM_USER+47364] lResult:00000001 Afterwards, you press P. This is the moment that things get done, when the key goes down and not up. Of course this always ends up being a decision of the developer, but for menus for instance, they appear when the key goes down and not up. Anyway, when P goes down there is this message once again, USER+43764, this time with wparam=50. Have you tried sending this message? If you have, have you also tried sending it first with wparam=12 (ALT down), then with wparam=50 (P down)? I believe the developer might have implemented triggering the action on the equivalent of the OnKeyDown event: if Key = 'P' then .... Which leads me to another suggestion. How about sending the WM_SYSKEYDOWN messages yourself? The WM_USER messages might be just for other stuff, maybe the action you want is executed directly in the key down event, without resorting to any further message exchanges. |
|
#2
|
|||
|
|||
|
Hmm, obviously the WParam is just the value of the virtual key scancode, as you can see here:
Code:
{ Virtual Keys, Standard Set }
VK_CONTROL = 17; //=$11
{$EXTERNALSYM VK_MENU}
VK_MENU = 18; //=$12
Sending that myself works: Code:
SendMessage($C0A52, WM_USER+47364, VK_MENU, $20000001);
SendMessage($C0A52, WM_USER+47364, Ord('P'), $20000001);
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [MASM Source] - ZwCreateThread example (winAPI CreateThread emulation) | TomaHawk | Source Code | 4 | 09-08-2019 14:06 |
| [C] Winapi Call Dynamically and easily | 0xall0c | Source Code | 40 | 10-17-2018 19:36 |
| [C++, WinAPI] Enigma HWID patcher with hardware breakpoints | mr.exodia | Source Code | 1 | 07-31-2014 11:50 |