AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Active und Inactive Fenster auflisten?
Thema durchsuchen
Ansicht
Themen-Optionen

Active und Inactive Fenster auflisten?

Ein Thema von thomasdrewermann · begonnen am 13. Sep 2002 · letzter Beitrag vom 15. Sep 2002
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#1

Active und Inactive Fesnter Auflisten?

  Alt 13. Sep 2002, 23:44
Hi Leute,
weiss jemand, wie ich das gerade avtie Fenster ermitteln kann?
Gibts da vielleicht 'n Event?
Wie bekomme ich die Liste der inaktiven Anwendungen heraus, also die, die normalerweise in der taskleiste rechts neben dem Start-button stehen?

Die Aktiviere ich eine Anwendung?

MFG
Thomas
Sport ist mord...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 14. Sep 2002, 02:14
Mit EnumWindows kannst du alle Fenster auflisten. Und mit IsWindowVisible kannst du alle sichtbaren rausfiltern.

Code:
[b]type[/b]
PMyEnumParam = ^TMyEnumParam;
TMyEnumParam = [b]record[/b]
  lv: TListview;
[b]end[/b];

[b]function[/b] GetWindows([b]const[/b] hWnd : Longword;
                          Param: PMyEnumParam): LongBool; [b]stdcall[/b];
[b]var[/b]
  Len : Longint;
  S  : [b]String[/b];
  li: TListItem;
[b]begin[/b]
  Result := True;
  [b]if[/b] [b]not[/b] ( IsWindow(hWnd) [b]and[/b] IsWindowVisible(hWnd) ) [b]then[/b] Exit;
  Len := SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0);
  [b]if[/b] Len > 0 [b]then[/b]
  [b]begin[/b]
    SetLength(S, Len);
    SendMessage(hWnd, WM_GETTEXT, Len + 1, Longint(Pchar(S)));
    li := Param.lv.Items.Add;
    li.Caption := s;
    li.SubItems.Add(IntToStr(hWnd));
  [b]end[/b];
  [i]// mit Result = False kann die Callbackfunktion vorzeitig verlassen werden[/i]
[b]end[/b];

[b]procedure[/b] TForm1.Button1Click(Sender: TObject);
[b]var[/b]
  Param: TMyEnumParam;
[b]begin[/b]
  Param.lv := Listview1;
  EnumWindows(@GetWindows, LPARAM(@Param));
[b]end[/b];
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#3
  Alt 14. Sep 2002, 09:25
Hi,
erstmal Vielen Dank an Luckie, für den Code.

Der code zeigt mir aber alle fenster an, ich wollt ja nur die auf der Task-Leiste haben. Ich bin nämlich dabei eine eigene Shell zu proggen, und da muss ich ja wissen welche Fenster da sind. Das tükische ist nur, dass Delphi zum Besipiel 3 Fenster hat, die ja nicht alle auf der Task-Leiste angezeigt werden. Kann man die noch irgendwie filtern?

MFG
Thomas
Sport ist mord...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4
  Alt 14. Sep 2002, 09:29
Taskleiste oder DNU-Leiste

(DNU = Ding neben der Uhr)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#5
  Alt 14. Sep 2002, 09:47
Diese Leiste Meine ich:
Miniaturansicht angehängter Grafiken
26_1031989623.jpg  
Sport ist mord...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6
  Alt 14. Sep 2002, 09:50
Hm, das wird schwer, wenn nicht sogar unmöglich.

Was willst du denn machen? Eventuell gibt es einen anderen gangebaren Weg.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von thomasdrewermann
thomasdrewermann

Registriert seit: 8. Jun 2002
Ort: Herne
575 Beiträge
 
Delphi 3 Professional
 
#7
  Alt 14. Sep 2002, 10:00
Ich möchte gerne eine eigene Shell Programmieren, also eine eigene Explorer.exe. Mit einer Task-Leiste....

Und für die Taskleiste muss ich ja die einträge wissen

MFG
Thomas
Sport ist mord...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8
  Alt 14. Sep 2002, 10:03
Ach du meine Güte. Hast du schlecht geschlafen oder was?

Hm, aber sorry, da kann ich dir nicht weiterhelfen. Ich hätte noch nicht mal eine Ansatz für so etwas.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#9
  Alt 14. Sep 2002, 10:05
Na, Luckie? Du müsstest es doch eigentlich wissen, immerhin hat doch Microsoft bei dir abgeschrieben?

PSDK: Indexeintrag "Taskbar Buttons, Managing" ... und lesen, Thomas!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10
  Alt 14. Sep 2002, 10:14
Ups. Hm, ist wohl nocht etwas früh.

Aber mir waren die Stichworte nicht geläufig.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 12:40 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