Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Anwendungen überwachen (Start, Exit, Fokus, ...) (https://www.delphipraxis.net/152828-anwendungen-ueberwachen-start-exit-fokus.html)

moelski 8. Jul 2010 12:16

Anwendungen überwachen (Start, Exit, Fokus, ...)
 
Moin !

Gibt es eigentlich eine Möglichkeit das meine Anwendung mitbekommt wenn andere Anwendungen ...
* Gestartet / Beendet werden
* den Fokus erhalten / verlieren
* eine neue Instanz geöffnet wird (wie z.B. bei Explorer.exe)

Ich schaue mir gerade das Tool EventGhost an und dort gibt es einen entsprechenden Mechanismus.
Wäre mal interessant zu wissen wie man sowas selber machen kann.

mkinzler 8. Jul 2010 12:23

AW: Anwendungen überwachen (Start, Exit, Fokus, ...)
 
Windowsmessages abfangen

moelski 8. Jul 2010 12:30

AW: Anwendungen überwachen (Start, Exit, Fokus, ...)
 
Moin !

Zitat:

Windowsmessages abfangen
Aber bekommt denn meine Anwendung Messages über andere Anwendungen?

Wenn ich mir das mal mit Microsoft Spy ++ ansehe, dann kann ich nichts erkennen wenn ich eine andere Anwendung starte/ stoppe, ....

moelski 8. Jul 2010 18:47

AW: Anwendungen überwachen (Start, Exit, Fokus, ...)
 
Moin !

Ok ich denke das geht über Hooks. Zumal auch EventGhost eine Hook.dll für Tasks besitzt :)

Werde mal versuchen mich durch diesen Code zu kämpfen:
http://groups.google.com/group/borla...b5818acd623a24

moelski 8. Jul 2010 20:26

AW: Anwendungen überwachen (Start, Exit, Fokus, ...)
 
Moin !

Ok ich denke ich habs hinbekommen.

Mann muss einen globalen Hook einrichten und im Grunde ist es dieser Code:
Delphi-Quellcode:
{The function that actually processes our hook}
function ShellProc(Code  : integer;
                   wParam : integer;
                   lParam : integer): integer; stdcall;

begin
  result := 0;

  case Code of
    HSHELL_WINDOWCREATED : begin
      lpHookRec^.AppHandle := wParam;
    end;
end;
Ich überwache jetzt nur das Erzeugen einer Anwendung.

Aber der Rest ist dann wohl eher Fleissarbeit.
Kann morgen mal ne Demo hier hinzufügen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 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