Can someone with assembler experience tell me what the pascal equivalent of the StdWndProc function is?
Can someone with assembler experience tell me what the pascal equivalent of the StdWndProc function is?
function StdWndProc(Window: HWND; Message, WParam: Longint;
LParam: Longint): Longint; stdcall; assembler;
asm
XOR EAX,EAX
PUSH EAX
PUSH LParam
PUSH WParam
PUSH Message
MOV EDX,ESP
MOV EAX,[ECX].Longint[4]
CALL [ECX].Pointer
ADD ESP,12
POP EAX
end;
I understand it's purpose is to route windows messages to their destination window but I'd like to understand how it does this.
function StdWndProc(Window: HWND; Message, WParam: Longint;
LParam: Longint): Longint; stdcall; assembler;
asm
XOR EAX,EAX
PUSH EAX
PUSH LParam
PUSH WParam
PUSH Message
MOV EDX,ESP
MOV EAX,[ECX].Longint[4]
CALL [ECX].Pointer
ADD ESP,12
POP EAX
end;
I understand it's purpose is to route windows messages to their destination window but I'd like to understand how it does this.
Something like:
ReplyDeleteResult := TMethod(LParam)(Message, WParam);