![]() |
Sendmessage an andere Anwendung...
Hallo Leute,
ich hab ein kleines Problem mit "sendmessage" und dem Handle der Fremdanwendung.. Wenn ein andere Programm eine TrayIcon Anwendung ist - oder minimiert in der Taskbar liegt - finde ich das Fensterhandle nicht mehr. Wenn das Programm wsmazimized oder wsnormal ist - funktioniert alles.. Kann mir jemand helfen, den Fensterhandle für TrayIconApplication und für eine minimierte Anwendung zu finden ? Ich weiß: Fenstername, TForm-name und Exe-Name der Anwendung... vielen Dank Erich Wanker Beispiel Sendmessage:
Delphi-Quellcode:
procedure TForm2.SpeedButton1Click;
var aCopyData : TCopyDataStruct; p : PChar; begin p := PChar('Hello World'); with aCopyData do begin dwData := 1; cbData := StrLen(p) + 1; lpData := p; end; SendMessage(FindWindow(PChar('TForm1'), nil), WM_COPYDATA, Longint(Handle),Longint(@aCopyData)); end; Beispiel "Fremdanwendung":
Delphi-Quellcode:
procedure TForm1.WMCopyData(var Msg: TWMCopyData);
var x :Integer; gl_st_CopyDataStruct :String; begin StrLCopy(gl_st_CopyDataStruct, Msg.CopyDataStruct.lpData, Msg.CopyDataStruct.cbData); x := (Integer(Msg.CopyDataStruct.dwData)); application.BringToFront; application.ShowMainForm:=true; Form1.WindowState:= wsmaximized; ForceForegroundWindow(application.Handle); showmessage(gl_st_CopyDataStruct); end; |
Re: Sendmessage an andere Anwendung...
..JETZT hab ich´s endlich ;-)
Delphi-Quellcode:
type
TForm2 = class(TForm) private { Private declarations } public { Public declarations } procedure CreateParams(var Params:TCreateParams); override; end; ....
Delphi-Quellcode:
procedure TForm2.CreateParams(var Params: TCreateParams);
begin inherited CreateParams(Params); Params.WinClassName := 'mein_Fenster_Handle'; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz