AGB  ·  Datenschutz  ·  Impressum  







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

Alt + Tab

Ein Thema von Evian · begonnen am 5. Apr 2004 · letzter Beitrag vom 5. Apr 2004
Antwort Antwort
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#1

Alt + Tab

  Alt 5. Apr 2004, 15:19
Hat jemand eine Ahnung, was genau im System passiert, wenn man Alt + Tab drückt. Ich meine, was an sich passiert ist mir klar, aber wie funktioniert das Systemintern. Und könnte man diese Funktion auch aus einem eigenem Programm ansteuern?!

gruss


Evian
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Alt + Tab

  Alt 5. Apr 2004, 15:40
mir würde eigentlich dazu nur einfallen das man alt + tab simuliert, aber welche procedure intern beim explorer aufgerufen wird weiß ich auch ni
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#3

Re: Alt + Tab

  Alt 5. Apr 2004, 15:45
Mh.. Alt + Tab simulieren... könnt ich machen, aber ich möcht es auch gern Rückwerts machen können. Also dass ich zwei Buttons habe und einmal in die eine Richtung durch die Laufende Programme sappen kann und ein mal in die Andere.
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Alt + Tab

  Alt 5. Apr 2004, 15:48
Also, inwiefern das realisierbar ist weiß ich nicht, denn wenn du auf den Vorwärtsbutton klickst, würde es theoretisch ja funktionieren, aber bei rückwärts müsste es eigentlich wieder zum Fenster wechseln, das vorher aktiv war, denn deine Anwendung "stiehlt" ja durch den Klick einem anderen Formular den Focus. Vielleicht habe ich aber auch nur die Reihenfolge der Alt-Tab-Sprünge falsch verstanden...
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Alt + Tab

  Alt 5. Apr 2004, 18:16
Moin Evian,

dazu eine Idee.
Du könntest Dir mit Hilfe von Hier im Forum suchenEnumWindows alle Toplevel Windows heraussuchen, müsstest dabei allerdings überprüfen, ob diese auch sichtbar sind, diese in einer Tabelle merken, und dann, das jeweils ausgewählte in den Fordergrund bringen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#6

Re: Alt + Tab

  Alt 5. Apr 2004, 18:21
Jup, so in etwa habe ich es dann in etwa gemacht:

Code:

function EnumWindowsProc (Wnd: HWND; LParam: LPARAM): BOOL; stdcall;
var Bezeichnung : Array[0..200] of Char;
begin
  if (IsWindowVisible(Wnd) or IsIconic(wnd)) and
     ((GetWindowLong(Wnd, GWL_HWNDPARENT) = 0) or
     (GetWindowLong(Wnd, GWL_HWNDPARENT) = GetDesktopWindow)) and
     (GetWindowLong(Wnd, GWL_EXSTYLE) and WS_EX_TOOLWINDOW = 0) then begin
      GetWindowText(Wnd, Bezeichnung, 256);
      Form1.Listbox1.Items.Append(Bezeichnung);
  end;
end;

procedure Refresh;
begin
  Listbox1.Clear;
  EnumWindows(@EnumWindowsProc, 1);
end;

procedure TForm1.Button1Click(Sender: TObject);
VAR
hWnd: DWORD;
begin
  Refresh;
  IF index < Listbox1.Count - 1 THEN
  inc(index) ELSE
  index := 0;
  hWnd := FindWindow(nil, PChar(Listbox1.Items[index]));
  if hWnd <> 0 then
  SetForeGroundWindow(hWnd);
end;
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  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 06:26 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