Delphi
POSTMESSAGE로 STRING전송
Revers Tuna
2018. 8. 31. 11:27
*Use WM_COPYDATA when passing STRING via SENDMESSAGE.
[SENDER]
var vHwnd: HWND; sStr: PChar; vLParam: DWORD; begin vHwnd := FindWindow('TfrmMain', nil); if vHwnd <> 0 then begin sStr := PChar('input send string'); vLParam := GlobalAddAtom(sStr); PostMessage(vHwnd, WM_USER + 9791, LongInt(Handle), vLParam); end; end;[RECEIVER]
procedure PostMessageFromString(var msg: TMessage); message WM_USER + 9791;
var pStr: PChar; sString: string; begin GetMem(pStr, 1024); if GlobalGetAtomName(msg.LParam, pStr, 1024) > 0 then sString:= StrPas(pStr); GlobalDeleteAtom(msg.LParam); FreeMem(pStr); ShowMessage(sString); end;