![]() |
Fenster in den Vordergrund, ohne den Focus zu verlieren
Hallo,
Ich möchte ein Fenster(Miranda IM) in den Vordergrund bringen, aber ich will nicht, dass meine Anwendung dabei den Focus verliert. Ich hab schon mit SetForegroundWindow und SetWindowPos experimentiert, das hat aber nicht den gewünschten effekt ergeben. Dabei hab ich bemerkt, dass immer, wenn die Anwendung in den Vordergrund gebracht wird, auch die Taskleiste eingeblendet wird, das will ich auch nicht. Vielen Dank Benjamin |
Re: Fenster in den Vordergrund, ohne den Focus zu verlieren
Zitat:
Was z.B. unter XP geht:
Delphi-Quellcode:
SetWindowPos(AppHWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE);
SetWindowPos(AppHWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE); |
Re: Fenster in den Vordergrund, ohne den Focus zu verlieren
Zitat:
Ich meine, wenn ich FormStyle auf fsStayOnTop setze habe ich den gewünschten Effekt, aber wie kann ich das für fremde Fenster einstellen? [edit]auch bei HWND_NOTOPMOST taucht die Taskleiste auf[/edit] |
Re: Fenster in den Vordergrund, ohne den Focus zu verlieren
Zitat:
Edit: \\
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var AppHWnd: HWND; begin AppHWnd := FindWindow('Miranda', 'Miranda IM'); if IsWindow(AppHWnd) then if IsWindowVisible(AppHWnd) then begin SetWindowPos(AppHWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE); SetWindowPos(AppHWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE); end; end; |
Re: Fenster in den Vordergrund, ohne den Focus zu verlieren
Zitat:
Vielen Dank |
Re: Fenster in den Vordergrund, ohne den Focus zu verlieren
ich würde gerne meine eigene Anwendung (Mp3Player-Delphi 7) durch einen Shortcut starten; dabei soll aber mein Spiel nicht minimiert werden (sozusagen wenn ich vor dem Spielstart vergesse meine Anwendung zu starten; der Player spielt beim Start sowieso von alleine los, deswegen brauch ich ihn also nur im Hintergrund starten)
Geht das? |
Re: Fenster in den Vordergrund, ohne den Focus zu verlieren
Vielleicht reicht es schon, wenn du als Show Parameter SW_SHOWNOACTIVATE benutzt. Einfach mal ausprobieren.
|
Re: Fenster in den Vordergrund, ohne den Focus zu verlieren
Kannst du mir den genauen Code geben?
Hab nämlich wenig WinAPI Erfahrung |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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