Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Send Message an einen Dienst (https://www.delphipraxis.net/134699-send-message-einen-dienst.html)

Digielm 27. Mai 2009 09:28


Send Message an einen Dienst
 
Hallo an alle

ich habe einen Code hier gefunden

Delphi-Quellcode:
    dwMessagenew := RegisterWindowMessage(Progguid);
    HAPPLICATION := 0;
    HMAINFORM := 0;
    repeat
      HAPPLICATION := FindWindowex(0,HAPPLICATION,'TApplication', progname);
    until HAPPLICATION <> Application.Handle;
    if HAPPLICATION <> 0 then
    begin
      Windows.ShowWindow(HAPPLICATION, SW_Normal);
      Windows.BringWindowToTop(HAPPLICATION);
      Windows.SetForegroundWindow(HAPPLICATION);
      HMAINFORM := FindWindowEx(0,0,mainform, nil);
      if (HMAINFORM <> 0) then
      begin
          AtomSend := GlobalAddAtom(MyMessage);
          SendMessage(HMAINFORM,dwMessagenew,0,Atomsend);
      end;
    end;
Das klappt ohne Probleme wenn ich eine Sichtbare Application habe.
Klappen tut das leider nicht wenn die Applikation ein Dienst ist oder die Showmainform = false gesetzt wurde.
Gibt es eine andere Möglichkeit ein Sendmessage auszuführen an eine bestimmte Applikation ?

Luckie 27. Mai 2009 10:03

Re: Send Message an einen Dienst
 
Da fehlt mal wieder das Grundlagenwissen zu Diensten. Dienste laufen in einer anderen Windows Station und haben somit erstmal keinen Zugriff auf die interaktive Windows Station und deren Desktops. Nutze andere Möglichkeiten der Interprozesskommunikation, wie memoryMappedFiles, NamedPipes, Mailsolts oder was es sonst noch so gibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz