AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster sortieren?

Ein Thema von Jonas · begonnen am 2. Feb 2009 · letzter Beitrag vom 2. Feb 2009
Antwort Antwort
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#1

Fenster sortieren?

  Alt 2. Feb 2009, 02:21
Mit der EnumWindowsProc lese ich bestimmte fenster aus.

Mein Problem ist nur, dass ich diese Fenster gerne in der Reihenfolge wie sie erstellt wurden, auslesen möchte.

Jedoch habe ich keine Ahnung wie man die Reihenfolge der Erstellungen heraus findet.

Ich habe an PID gedacht, musste aber im Taskmanager festestellen, dass auch diese Angaben ungenau sind.

Kann mir jemand helfen?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Fenster sortieren?

  Alt 2. Feb 2009, 02:35
Ini-Datei verwenden.
Gruß
Hansa
  Mit Zitat antworten Zitat
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Fenster sortieren?

  Alt 2. Feb 2009, 02:42
Huh? Ini-Datei?

Ich muss doch erstmal wissen wie ich auslese in welcher reihenfolge die Fenster erstellt wurden. oô?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Fenster sortieren?

  Alt 2. Feb 2009, 03:01
Die werden erstellt, oder ? Dann kann man die in dieser Reihenfolge auch in INI schreiben und wieder aus der Datei auslesen und fertig. Dürfte allerdings zu einfach sein.
Gruß
Hansa
  Mit Zitat antworten Zitat
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Fenster sortieren?

  Alt 2. Feb 2009, 03:58
Ja, aber nicht von mir. Ich rede ja von allgemeinen Fenstern, anderen Programmen. Keine die ich selbst erstelle.
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#6

Re: Fenster sortieren?

  Alt 2. Feb 2009, 05:44
Also mit der folgenden Funktion kannst du mal die Startzeit ermitteln

Delphi-Quellcode:
uses tlHelp32;

...

function GetProcessTime( ProcessName: String ): TDateTime;
var
  hProc, b: Cardinal;
  CT, T: TFileTime;
  ST: TSystemTime;
  tzi: TTimeZoneInformation;
  function GetProcID(const lpName: String): Cardinal;
  var
    hSnapShot: LongWord;
    Task: TProcessEntry32;
  begin
    Result := 0;
    hSnapShot := CreateToolHelp32SnapShot( TH32CS_SNAPPROCESS, TH32CS_SNAPALL );
    FillChar( Task, SizeOf(Task), #00 );
    Task.dwSize := SizeOf(Task);
    Process32First( hSnapShot, Task );
    repeat
      if LowerCase(Task.szExeFile) = LowerCase(lpName) then
      begin
        Result := Task.th32ProcessID;
        CloseHandle( hSnapShot );
        Exit;
      end;
    until not Process32Next( hSnapShot, Task );
    CloseHandle( hSnapShot );
  end;
begin
  try
    b := GetProcID( pChar(Processname) );
    hProc := OpenProcess( PROCESS_QUERY_INFORMATION, False, b );
    if hProc = 0 then
      Exit;
    GetProcessTimes( hProc, CT, T, T, T );
    FileTimeToSystemTime( CT, ST );
    GetTimeZoneInformation( tzi );
    SystemTimeToTzSpecificLocalTime( @tzi, st, st );
    Result := StrToTime(Format( '%d:%d:%d', [ ST.wHour, ST.wMinute, ST.wSecond] ) );
  finally
    CloseHandle( hProc );
  end;
end;

...

//Aufrufmöglichkeit
ShowMessage( TimeToStr( GetProcessTime('explorer.exe') ) );
EDIT:
Zitat von Jonas:
Mein Problem ist nur, dass ich diese Fenster gerne in der Reihenfolge wie sie erstellt wurden, auslesen möchte.
Nun ja ... So dürfte das nicht gehen aber wenn du sie samt der CreationTime speicherst könntest du sie nachher sortieren !

EDIT2:
Ein kleiner Fehler wurde behoben

MfG
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:53 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