Autor Beitrag
5M17H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Sa 30.06.07 11:54 
HI all.
Schonmal entschuldigung das das Topic -sehr warscheinlich- wieder im falschen Bereich ist.

Wie manch einer eventuell -ich glaube zwar nich aber kann sein- schon auf meinem Blog gelesen hat bin ich dabei ein Programm zu schreiben was Dokumentieren soll wie lange ein Programm läuft. Dazu benötige ich die Überschrift vom Programm.

Ich habe schonmal ein Programm geschrieben was den TaskManager beendet. Aber sowas nich.

Prograspezifische sachen lest bitte auf dem Webblog.

Wie komme ich an diese Überschriften. Ich habe schon hier im Forum gesucht aber das was da so kommt -kompletter quellcode z.B.- is mir bischen Kürre und ich weiß nicht ob dass das ist was ich suche.

Würde mich über eure hilfe freuen.

MFG Oli
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Sa 30.06.07 12:29 
Such mal nach Suche in der Entwickler-Ecke FINDWINDOW und das hier angucken: www.devblog.de/index...hives/2005/01/04/18/

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Sa 30.06.07 13:52 
Dickes Danke.
Ehrlich gesagt musste ich mir die .pas laden und sie erst ab- und dann umschreiben.

Jetzt listet er schon alle .exe prozesse. Ich glaube jetzt kann ich auf dem alten programm aufsetzen... mal sehen.

Ich melde mcih bei schwierigkeiten.

MFG OLI

[edit]
Jetz habich quasi ne auflistung aller tasts mit den exe dateien.
Wie komme ich jetzt an die Fensternamen, denn die brauche cih für FindWindow, und das heißt ich brauche FindWindow nich weil ich brauche nur die Fensternamen mehr ncih....
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Sa 30.06.07 14:16 
Wenn du die EXE-Namen hast, brauchst du doch die Fensternamen nicht mehr..

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Sa 30.06.07 14:30 
FindWindow braucht nicht den exe namen sondern den Fensternamen.
Wie komme ich an den Fensternamen. Brauche ich dazu überhaupt den .exe namen?
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Sa 30.06.07 14:34 
du kannst ja auch einfach nachschauen wie lange die Exe rennt oder?? dann hast du die exakte programm lauf zeit. denn es kann sein das das Fenster vom programm nie angezeigt wird.

lg elundril
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Sa 30.06.07 14:35 
Du willst doch nur wissen, wie lang ein Programm läuft oder?

also mal Pseudocode

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
 Timer
 begin
  holeAlleAktivenAnwendungen();
  VergleicheAnwendung mit Liste()
  NeuerName = true
   StarteZeitMessung(NeuerName);
  NameNichtMehrVorhanden = true
   SchliesseZeitMessung(NameNichtMehrVorhanden);
 end;


LG
Stefan

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Sa 30.06.07 14:36 
Geh ma auch meinen blog und schau dir den Aktuellsten post an. Da wirst du sehen was ich noch alles machn will mit dem Programm.

MFG Oli. Danke trotzdem für die Antwort.
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Sa 30.06.07 14:39 
user profile icon5M17H hat folgendes geschrieben:
Geh ma auch meinen blog und schau dir den Aktuellsten post an. Da wirst du sehen was ich noch alles machn will mit dem Programm.

MFG Oli. Danke trotzdem für die Antwort.


Check ich ned...
Wenn ich im FireFox Tabbed-Browsing benutz hab ich ständig n neuen Fensternamen, obwohl die EXE die selbe beleibt..
Du solltest deine Theorie mal bissl durchdenken..

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Sa 30.06.07 15:14 
Ja ist ja nich schlim.
Da muss ich mir nochwas überlegen.
Aber bei den anderen bleibt es ja meißtens gleich.
Is ja auch egal. Wie komme ich an den FEnsternamen?
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Sa 30.06.07 16:06 
Die folgende Methode verwendet die Systenfunktion EnumWindows. Dabei wird dann die Callback Prozedur mit den entsprechenden Parametern aufgerufen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
function EnumWinProc(Wnd: THandle; LParam: LongInt): Boolean; stdcall;
var
 WinCaption : string;
 Len: integer;
begin
 Result := True;
 Len := GetWindowTextLength(Wnd);
 SetLength(WinCaption, Len);
 GetWindowText(Wnd, PChar(WinCaption), Len+1);
 if Trim(WinCaption) <> '' then
   Form1.Listbox1.Items.Add(Format('%.6x : %s', [Wnd, WinCaption]));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  EnumWindows(@EnumWinProc, 0);
end;


In diesem Fall werden die Informationen in Listbox1 ausgegeben, die sich auf Form1 befinden muss.
Zuerst wird eine 6stellige Hex-Zahl ausgegeben, die das Handle des Fensters darstellt, dann wird der Titel ausgegeben.
Die Ausgabe kann über die Parameter der Funktion Format angepasst werden.

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Sa 30.06.07 17:24 
ausblenden programm_auflisten.pas - Funktion
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
function ProgrammnamenAusgeben(Wnd: THandle; LParam: LongInt): Boolean; stdcall;
var Rueck : Boolean;
    Laenge : Integer;
    Text : String;
begin
  Rueck := true;
  laenge := GetWindowTextLength(Wnd);
  SetLength(Text, laenge);
  GetWindowText(Wnd, PChar(Text), laenge+1);
  if trim(Text) <> '' then

  result := rueck;
end;

Tja so siehts aus. Was allerdings nicht geht: unter das If irgendwas mit Form1 zu schreiben das kennt er nciht.. warum?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
type
  TProgramme = class(TObject)
    private
      ProzessListe : TStringList;
      ProgrammListe : TStringList;
    public
      constructor Anlegen(anzeigen, anzeigen2 : TMemo);
      destructor Aufloesen;
      procedure Erneuern(anzeigen, anzeigen2 : TMemo);
  end;
  function ProgrammnamenAusgeben(Wnd: THandle; LParam: LongInt): Boolean; stdcall;


Anbei nochne frage. Was ist stdcall?
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Sa 30.06.07 17:48 
STDLL sagt dir, dass es sich um eine Funktion/Prozedur handelt, die in einer DLL liegt/liegen soll.

Da ich annehme, dass du keine DLL verwendest kannst du das STDCALL einfach weglassen.

Warum er das nicht kennt ist einfach

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
function TForm1.ProgrammnamenAusgeben(Wnd: THandle; LParam: LongInt): Boolean;
var Rueck : Boolean;
    Laenge : Integer;
    Text : String;
begin
//..
end;


LG
Stefan

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Sa 30.06.07 18:42 
ausblenden programm_auflisten.pas - Funktion
1:
2:
3:
function ProgrammnamenAusgeben(Wnd: THandle; LParam: LongInt): Boolean; stdcall;
var Rueck : Boolean;
    Laenge : Integer;

Achte bitte auf den Titel. Die Funktion liegt in einer *.pas Datei.
Von Daher kann ich das ja nicht so machen.
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Sa 30.06.07 18:52 
Also ich hab da schonmal ein programm geschrieben. und zwar das. Wenn du willst kann ich dir mal ein bisschen code geben.

B2T:
Doch kannst du, indem du die function deklarierst.
ausblenden Delphi-Quelltext
1:
2:
public
   function ProgrammnamenAusgeben(Wnd: THandle; LParam: LongInt): Boolean; stdcall;

Und schon kannst du von einer anderen Form daraufzugreifen.


Zuletzt bearbeitet von Regan am Sa 30.06.07 21:21, insgesamt 1-mal bearbeitet
5M17H Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 164

XP, Vista32, bald auch Vista64
PHP(3/5), Delphi(2), Java(1), C(3), C#(1)
BeitragVerfasst: Sa 30.06.07 19:07 
ausblenden Delphi-Quelltext
1:
2:
3:
function TProgramme.ProgrammnamenAusgeben(Wnd: THandle;
  LParam: Integer): Boolean;
var Rueck : Boolean;

So Inzwischen ist es in der klasse TProgramme.

Bringt auchnihts. "Form1.irgendwas.und.egalwas" geht immernoch nicht... 'Nicht deklarierter bezeichner'
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Sa 30.06.07 19:21 
user profile icon5M17H hat folgendes geschrieben:
ausblenden programm_auflisten.pas - Funktion
1:
2:
3:
function ProgrammnamenAusgeben(Wnd: THandle; LParam: LongInt): Boolean; stdcall;
var Rueck : Boolean;
    Laenge : Integer;

Achte bitte auf den Titel. Die Funktion liegt in einer *.pas Datei.
Von Daher kann ich das ja nicht so machen.


HÄ????

Ich will ja nich unhöflich oder beleidigend werden, aber was is denn das fürn Schwachsinn?

*.pas kannst du doch ganz normal bearbeiten und und und..

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Sa 30.06.07 20:41 
Zeig doch mal ein bisschen Code. Sonst kann man das schwer sagen.
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Sa 30.06.07 20:53 
user profile icon5M17H hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
function TProgramme.ProgrammnamenAusgeben(Wnd: THandle;
  LParam: Integer): Boolean;
var Rueck : Boolean;

So Inzwischen ist es in der klasse TProgramme.

Bringt auchnihts. "Form1.irgendwas.und.egalwas" geht immernoch nicht... 'Nicht deklarierter bezeichner'


TFORM1

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Sa 30.06.07 21:02 
user profile iconZeitGeist87 hat folgendes geschrieben:
user profile icon5M17H hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
2:
3:
function TProgramme.ProgrammnamenAusgeben(Wnd: THandle;
  LParam: Integer): Boolean;
var Rueck : Boolean;

So Inzwischen ist es in der klasse TProgramme.

Bringt auchnihts. "Form1.irgendwas.und.egalwas" geht immernoch nicht... 'Nicht deklarierter bezeichner'


TFORM1
muss nicht unbedingt sein. es geht auch ohne. hast du die .pas-datei auch in der uses-klausel reingeschrieben? und heißt Form1 wirklich Form1 oder vielleicht TProgramme?
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.