Anwendung die permanent im Vorderground läuft
-
moin gibt es eine Möglichkeit das meine VCL Anwendung IMMER im Vordergrund ist auch wenn ich in ein anderes Fenster reinklicke?
-
Ok, hab schon eine Lösung.
void __fastcall TForm1::Timer1Timer(TObject *Sender) { HWND hwnd = FindWindow(0,"Form1"); SetForegroundWindow(hwnd); }
-
...
-
Hab gerade germerkt das mein Programm doch nicht so läuft wie es soll. _
Mit welcher Funktion kann ich den WS_EX_TOPMOST setzen?
-
Ok, das scheint ja mit SetWindowPos zu gehen.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspxIch kann da zwar kein WS_EX_TOPMOST setzen aber dafür HWND_TOPMOST damit funktioniert es jetzt thx.
HWND hwnd = FindWindow(0,"Form1"); SetWindowPos(hwnd,HWND_TOPMOST,200,200,200,200,0);
-
Für das eigene Fenster kannst du auch einfach die Form-Eigenschaft 'FormStyle' auf 'fsStayOnTop' setzen: http://docwiki.embarcadero.com/Libraries/XE4/en/Vcl.Forms.TForm.FormStyle
Und auch dein FindWindow ist unnötig, denn mittels der Eigenschaft 'Handle' hast du direkten Zugriff darauf: http://docwiki.embarcadero.com/Libraries/XE4/en/Vcl.Controls.TWinControl.Handle