![]() |
Alt + Tab
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 |
Re: Alt + Tab
mir würde eigentlich dazu nur einfallen das man alt + tab simuliert, aber welche procedure intern beim explorer aufgerufen wird weiß ich auch ni
|
Re: Alt + Tab
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.
|
Re: Alt + Tab
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...
|
Re: Alt + Tab
Moin Evian,
dazu eine Idee. Du könntest Dir mit Hilfe von ![]() |
Re: Alt + Tab
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz