![]() |
Fenster immer on Top
Hallo zusammen,
ich habe mal eine Frage :) Ich möchte dass eine Form aus meiner Anwendung immer maximiert im Vordergrund steht. Wozu ich das brauche: Naja kurz und knapp. Mitarbeiter haben Tablet-Pcs, akku wird schwach, Windows Meldung kommt, ignoration der Mitarbeiter, Pc fährt in Standyby, Akku wird getauscht, pc wird angemacht, wlan noch nicht da, versuch weiter zu arbeiten, fehler. Ich will einfach nur dass bei einem bestimmten Akkustand sich ein Fenster in den Vordergrund schiebt, dass die den Akku wechseln müssen ohne taskmanager aufrufen zu können etc. Einfach gar nichts. Wie bekomme ich das mit dem Fenster so hin? Akkuabfrage etc funktioniert alles super. Danke & Gruß ddcool |
Re: Fenster immer on Top
Du musst im Objektinspektor des Hauptformulars die Eigenschaft "FormStyle" auf "fsStayOnTop" setzen.
Dann dürfte es klappen. |
Re: Fenster immer on Top
Du kannst einfach, wenn was bestimmtes passiert das sich dann das fenster immer "On Top" ist.
Delphi-Quellcode:
das ist jetzt "on top" wenn die CheckBox angeklickt ist.
IF CheckBox1.Checked THEN
Form1.FormStyle := fsStayOnTop ELSE Form1.FormStyle := fsNormal; Mit dem Maxiemiert musst du bissel rumgucken aber das kann man ja eig standardmäßig setzen...in den Eigenschaften müsstest du unter "WindowState" finden und das dann auf "wsMaximed" setzten |
Re: Fenster immer on Top
Zitat:
|
Re: Fenster immer on Top
Ich denke, Du meinst damit vergleichsweise den sicheren Desktop von Vista, der jeglichen Zugriff auf die Taskleiste und aktive Programme verhindert.
Die Sache mit dem Taskmanager dürfte unter XP garnicht zu realisieren sein. Das würde ja bedeuten, dass man alles andere blockieren muss, etwa komplette Windows Subsysteme. No Chance... |
Re: Fenster immer on Top
Da kann ich ja gleich meinen Windows Ordner löschen?! :wiejetzt:
|
Re: Fenster immer on Top
Zitat:
Unter XP dürfte das vorgeschlagene nicht gehen, da bin ich mir sehr sicher. |
Re: Fenster immer on Top
Man könnte zwar die explorer.exe beenden aber das hindert ja niemanden daran, den Taskmanager aufzurufen.
Evtl könntest du die explorer.exe beenden und die Tastertur sperren dann könnte es evtl gehen. zumindestens fällt mir gerade nix ein wie man dann noch was beenden könnte außer du besitzt einen Button Beenden oder ne Shutdown funktion o.ä. |
Re: Fenster immer on Top
Also momentan habe ich es so:
FormStyle := fsStayOnTop WindowState := wsMaximized und ein Timer mit der alle 1ms das macht: Cursor := crNone; Self.BringToFront; Self.SetFocus; Application.ProcessMessages; das klappt auch ziemlich gut, nur wenn der taskmanager aufgerufen wird, fängt die form an zu flackern, weil der taskmanager sich ja auch versucht in den vordergrund zu schieben. Vielleicht gibt es ja eine Möglichkeit das auch noch zu verhindern. |
Re: Fenster immer on Top
Zitat:
Edit: Ich würde mir in meiner Herangehensweise die Datei taskmgr.exe im Windows\System32-Verzeichnis greifen und bspw. die Lesemöglichkeit mit normalen Rechten verhindern. Damit kann der normale Anwender den Taskmanager nicht mehr starten, und falls es doch mal zum Einfrieren einer Anwendung kommt, muss sowieso der Admin ran und kann einen Benutzerwechsel zum Admin-Konto durchführen und dort mit dem Taskmanager rumtoben. Das wäre jetzt meine Vorgehensweise, wenn ich das Problem hätte. In meiner damaligen Windows-Citrix-Novell Administration haben wir den Anwendern den Zugriff auf den Taskmanager komplett genommen - zumal die Anwender damit auch überfordert gewesen wären. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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