Předávání dat mezi aplikacemi (jedno pc)
Občas je potřeba předat nějaká data mezi dvěmi aplikacemi. Pokud běží na jednom PC, tak lze použít zprávu WM_COPYDATA - popis na MSDN.
V diskuzi na Builderu jsem jeste našel příklad použití:
var
wnd:HWND;
CopyData:TCopyDataStruct;
begin
wnd:=FindWindow();
if
wnd<>
0
then
begin
CopyData.cbData:=Length(Edit1.Text)+
1
;
CopyData.lpData:=PChar(Edit1.Text);
CopyData.dwData:=
0
;
SendMessage(wnd,WM_COPYDATA,
0
,Integer(@CopyData));
end
;
end
;
type
TfrmApp2 =
class
(TForm)
Edit1: TEdit;
private
procedure
WMCopyData(
var
msg:TWMCopyData); message WM_COPYDATA;
public
end
;
procedure
TfrmApp2.WMCopyData(
var
msg:TWMCopyData);
begin
Edit1.Text:=PChar(msg.CopyDataStruct^.lpData);
end
;
Syntax higlighted by Syntax highlighter, available at www.4ITDevelopers.net and www.JakNaWin.com
Pokud se vyměňují textová data, tak lze použít i
GlobalAddAtom.
Informace ke stavu builder.cz zde
vytvořil Mi.Chal. 22.5. 2006 10:12, naposledy změněnil Mi.Chal. 22.5. 2006 10:12
přečteno: 1644x