Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Erkennen wenn neues Programm geöffnet wird (https://www.delphipraxis.net/33979-erkennen-wenn-neues-programm-geoeffnet-wird.html)

Neuni 15. Nov 2004 19:31


Erkennen wenn neues Programm geöffnet wird
 
Hallo liebe MitDelphianer :mrgreen:

Gibt es eine möglichkeit herauszufinden, welches Programm gerade aktiv ist und sobald sich das aktive Programm ändert (anderes Programm wird aktiv), dass ich das mitbekomme?

Also wenn ich jetzt z.B. den Arbeitsplatz öffne, dann soll mein programm das mitbekommen und mir sagen, welches Fenser das ist, in diesem Fall würde es dann sagen "Arbeitsplatz". Sobald ich nun z.B. den Internet-explorer öffne und da was mache soll es mir sagen, dass ich gerade im IE arbeite.

Wie bekommt man sowas hin, dass ich immer weiß welces Fenster gerade aktiv ist?

Luckie 15. Nov 2004 20:14

Re: Erkennen wenn neues Programm geöffnet wird
 
Das geht mit einem ShellHook der CreateProcess hooked.

Was ist bei dir "Programm"? Der Prozess oder ein Fenster zu einem Prozess? Das fenster mit dem der Benutzer gérade arbeitet bekommst du mit MSDN-Library durchsuchenGetForegroundWindow.

Ich weiß nicht, wie viel Erfahrung du schon hast. Aber deine sehr schwammige Formulierung, was du eiegtnlich willst und die Tatsache, dass du anscheinend auch nicht mit den Begriffen vertraut bist, läßt daraufschließen, dass du noch nicht allzu vile Ahnung von Systemprogrammierung hast.

Neuni 15. Nov 2004 20:15

Re: Erkennen wenn neues Programm geöffnet wird
 
was soll ich da groß fachsimpeln bitte?
Ich will einfach wissen welches Fenster gerade benutzt wird! :gruebel:

Luckie 15. Nov 2004 21:02

Re: Erkennen wenn neues Programm geöffnet wird
 
Es geht nicht ums fachsimpeln, sondern um den richtigen Gebrauch der Fachbegriffe oder wenn die nicht bekannt sind eine klare verständliche Umschreibung. "Programm" ist schwammig. Wie manifestiert sich denn ein Programm gegenüber dem Benutzer? Ein Dienst ist ein Programm, de rBneutzer merkt nur nichts davon, copy (aus der Konsole) ist ein Programm un der Benutzer "sieht" es in der Konsole, die Delphi IDE ist ein Programm und der Benutzer sieht die Fenster auf dem Dektop, der Compiler ist ein Programm, aber gegenüber dem benutzer tritt es so gut wie gar nicht in Erscheinung. Der Begriff Programm ist sehr weitläufig und ziemlich ungenau in diesem Fall. Deine Frage hätte man jetzt auch so auffassen können, dass du wissen willst, welcher Prozess gerade aktiv ist, also gerade Rechenzeit zugewisen bekommen hat und seinen Code in der CPU ausführt. Oder du willst wissen, wann ein neuer Prozess erzeugt oder wann ein neues Fenster erzeugt wird oder ein neuer Thread innerhalb des Prozesses. Oder du willst einfach nur das aktive Hauptfenster, mit dem der Benutzer gerade interagiert.

Zitat:

Ich will einfach wissen welches Fenster gerade benutzt wird!
Sioehst du? Ist doch gar nicht so schwer. Klare Frage klare Antwort: MSDN-Library durchsuchenGetForegroundWindow.

Neuni 16. Nov 2004 12:44

Re: Erkennen wenn neues Programm geöffnet wird
 
Na gut, haste ja recht :oops:

Danke, werd mich bessern!


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