![]() |
Fenster TOPMOST machen ohne Fokus!
Habe ein Fenster das beim Programmstart mit Form1.Hide; versteckt wird.
Dieses soll beim Drücken eines Hotkeys vor allen anderen Fenster angezeigt werden ohne jedoch den Fokus zu kriegen. Um das zu bewerkstelligen hab ich folgenden Code gefunden:
Delphi-Quellcode:
ohne Form1.Show; oder Form1.Visible:=true; danach regt sich jedoch nix, aber jedes Mal wenn ich show oder visible benutze kriegt mein Programm den Fokus was es nicht soll.
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE);
SetWindowPos(Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE); Wie kriege ich es also hin, dass mein Fenster unsichtbar ist, solange der Hotkey nicht gedrückt und auch dann nicht den Focus klaut? |
Re: Fenster TOPMOST machen ohne Fokus!
Hallo,
Die versteckte Form kannst du mit ShowWindow + SW_SHOWNOACTIVATE anzeigen. Dann wird sie sichtbar, ohne dass sie den Focus erhält.
Delphi-Quellcode:
ShowWindow(FormX.handle, SW_SHOWNOACTIVATE);
|
Re: Fenster TOPMOST machen ohne Fokus!
Super hat funktioniert.
Jetzt wäre nur noch eine Sache. Hast du auch ne Idee wie ich ohne DLL-Injection vor Spielen zeichnen könnte? |
Re: Fenster TOPMOST machen ohne Fokus!
Bitte erstelle für neue Fragen, die nicht zum Thema gehören, einen neuen Thread, damit es hier ordentlich bleibt und man über die Suche auch vernünftige Ergebnisse findet.
Ich schließe daher mal. G E S C H L O S S E N |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 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