Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Programm im Heintergrund starten (nicht versteckt)??? (https://www.delphipraxis.net/95820-programm-im-heintergrund-starten-nicht-versteckt.html)

romber 13. Jul 2007 16:58


Programm im Heintergrund starten (nicht versteckt)???
 
Hallo!

Ich möchte es so machen, dass einziges Fenster meines Programms beim Start sofort hinter allen anderen geöffneten Fenstern angezeigt wird. Wenn z.B. Explorer geöffnen ist und ich mein Programm starte, erscheint das Fenster meines Programms sofort im Vordegrund und verdeckt damit den Explorer. Das möchte ich verhindern. Wie mache ich das?

Christian Seehase 13. Jul 2007 17:15

Re: Programm im Heintergrund starten (nicht versteckt)???
 
Moin Romber,

nur mal so als Idee:
Du prüfst beim Starten Deines Programmes darauf, welches gerade im Vordergrund ist, merkst Dir das, und bringst es, sobald Dein Programm läuft, wieder in den Vordergrund.
(MSDN-Library durchsuchenGetForegroundWindow, MSDN-Library durchsuchenSetForegroundWindow)
Wenn Du die Prüfung zu Beginn der Projektdatei einträgst, müsste das eigentlich funktionieren.

bitsetter 13. Jul 2007 20:34

Re: Programm im Heintergrund starten (nicht versteckt)???
 
Hi,

folgenden Code habe ich in das onActivate Event des Formulars gesetzt:
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
  SetWindowPos(self.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
Eventuell müsste man noch drauf achten, dass der Code nur einmal ausgeführt wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 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