Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Name des aktiven Programms auslesen (https://www.delphipraxis.net/21373-name-des-aktiven-programms-auslesen.html)

Neuni 1. Mai 2004 20:28


Name des aktiven Programms auslesen
 
Hi,
ich möchte gerne, dass mein Programm erkennt, welches Programm gerade aktiv ist, und dann den Namen des Programms nennt. Es soll also der Name des aktiven Programms ausgelesen werden.

Jemand ne Idee, wie das geht???

Danke schonmal im vorraus :)

Skiron 1. Mai 2004 21:03

Re: Name des aktiven Programms auslesen
 
mit GetActiveWindow() bekommt man das Handle des Aktiven Fensters
damit dürfts dann auch möglich sein, den Namen rauszufinden!

toms 2. Mai 2004 01:36

Re: Name des aktiven Programms auslesen
 
Delphi-Quellcode:
Label1.Caption := GetProcessNameFromWnd(GetForeGroundWindow);

Du brachst noch die Funktion GetProcessNameFromWnd

Neuni 2. Mai 2004 12:30

Re: Name des aktiven Programms auslesen
 
Danke erstmal, aber er ließt ja nun den Dateinamen (also *.exe) aus.

Vielleicht hab ich mich ein bissl falsch ausgedrückt.
Also: Ich möchte das haben, was ganz oben in der Leiste beim InternetExplorer steht. (Jetzt z.B: Delphi-Praxis :: Antwort schreiben ...)

Es geht darum, dass ich einen PC hab, an dem viele User sitzen, und dass ich überwachen will, dass niemand auf die Idee kommt, auf verbotene Internetseiten, also Porno-Seiten & co. zu gehen.

Jemand ne Idee wie das geht?

SirThornberry 2. Mai 2004 12:35

Re: Name des aktiven Programms auslesen
 
Delphi-Quellcode:
var text: PChar;
    tmpint: Integer;
begin
  tmpint := SendMessage(GetActiveWindow, WM_GETTEXTLENGTH, 0, 0) + 1;
  getmem(text, tmpint);
  SendMessage(GetActiveWindow, WM_GETTEXT, tmpint, Integer(Text));
  Edit1.Text := String(text); //hier wird jetzt der Windowtext in Edit1 geschrieben
  freemem(text);
end;
untested, but it should work

himitsu 2. Mai 2004 12:37

Re: Name des aktiven Programms auslesen
 
@toms:
GetForeGroundWindow gibt nur das Fenster mit der kleinsten Position in der Z-Achse zurück - also das Fenster, welches ganz vorne Angezeigt wird und diese muß nicht unbedingt das aktive Fenster, also das mit dem Eingabefokus sein.

GetActiveWindow sollte da schon das Richtige sein.

Neuni 2. Mai 2004 12:39

Re: Name des aktiven Programms auslesen
 
Danke SirThornberry, es geht. :mrgreen:


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