![]() |
Mainform ALWAYS ON TOP?
Hi Leute,
1. Ich habe die Suchfunktion genutzt 2. Keine richtige Antwort gefunden! Frage: Gibt es bei Delphi die Möglichkeit eine Form so zu definieren, das sie immer zu sehen ist. D.h. sie muss immer im Vordergrund sein aber muss nicht unbedingt auch aktiv sein. Problem: Will eine Programm schreiben, welches ich während des Spielens sehe. Wenn man z.b. Command and Conquer spielt dann soll die Form sichtbar sein, sodass man sie anwählen kann beim spielen, ohne das die Fenster minimiert werden. Nicht das wenn ich das Fenster anklicke ich auf einmal aufm Desktop lande. Fazit: Ich denke mal das dies nicht möglich ist aber vielleicht irre ich mich ja auch. lg lucster |
Re: Mainform ALWAYS ON TOP?
Hallo und herzlich Willkommen der der Delphi Praxis!!! :dp:
Da fallen mir spontan 2 Möglichkeiten ein. Eventuell ist es ja das, was Du suchst... 1.
Delphi-Quellcode:
... auch mal nach HWND_TOPMOST suchen.
SetWindowPos(Form1.Handle,
HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW); 2.
Delphi-Quellcode:
... läßt sich auch im Object Inspector einstellen...
Form1.FormStyle := fsStayOnTop
Grüße, SCRaT |
Re: Mainform ALWAYS ON TOP?
Mhh, ertsmal danke.
Leider bringt mir deine Antwort nichts, denn ich bin zwar neu hier aber nen bisl kenn ich mich aus mit Delphi ;) fsStayOnTop bringt nix. Hatte ich schon versucht. Hab auch schon Beiträge gelesen, wo man so ähnliche Probleme mit nem Timer gelöst hat, nur leider würde das in meinem Fall nichts bringen, da dann sich das Game minimieren würde und ich dann aufm Desktop lande. Gibt es denn die Möglichkeit ein Programm im hintergrund laufen zu lassen, an welches man z.b. per num-tasten "informationen" schickt. Äquivalentes Beispiel wäre dazu WindowsMediaPlayer. Da läuft ja auch imer die Musik im Hintergrund weiter und hört nicht auf, wenn man ein Fullscreen-Programm laufen hat. Und fast jeder hat eine Tastatur wo man die Titel durchswitchen kann, was in meinem die Falle die NUM-Tasten wären. Frage: Wie muss eine Form eingestellt werden damit sie wie z.b. Winamp im Hintergrund weiterarbeit und auf sie zugegegriffen werden kann per Hotkeys (NUM-Pad)? lg lucster |
Re: Mainform ALWAYS ON TOP?
dein Vorhaben ist nicht möglich. Dein Delphiform ist Windowswelt und arbeitet im normalen Fenstermodus. Dein von dir beschriebenes Spiel arbeitet mit DirektX/OpenGL etc. und da ist nix mit fenstern aus der Windowswelt die man einfach mal so anzeigt.
|
Re: Mainform ALWAYS ON TOP?
Die einzige Möglichkeit, die mir einfällt:
Du kannst Dein Programm starten bevor das Spiel gestartet wird. Dein Programm ist im Vordergrund des Windows-Desktop. Dann startest Du das Spiel, es dieses aktiviert DirectX und der Windows-Desktop ist erst mal nicht mehr ansprechbar. Du kannst dann aber in deinem Programm einen Tastatur-Hook einbauen, der bestimmt Tasten abfängt und darauf reagiert. Die Tasten können ja bei Bedarf evtl. auch an das Spiel weitergegeben werden. Zum Thema Tastatur-Hook gibt es schon etliche Beiträge hier im Forum, einfach mal suchen... |
Re: Mainform ALWAYS ON TOP?
Hi,
ich werfe mal das Programm XFire in den Raum. Das kann auch während dem Spiele zum Chatten geöffnet werden. Es muss sich jedoch irgendwie in den Prozess injizieren, denn sobald man 0 FPS hat, kann man auch nicht mehr ins XFire-Fenster schreiben. |
Re: Mainform ALWAYS ON TOP?
Hallo nochmal,
also mit XFire hab ich nie gearbeitet/gechattet und ich denke mal das ich nich die Fähigkeit besitze mein Fenster mit in das Warcraft-Spiele-Fenster zu implementieren ^^. Aber guter Einwurf. @Raven: Die Sache mit dem Hook werd ich mir mal genauer anschauen, weil mir das zur Problemlösung weiterhelfen könnte. Danke dir. Neuer Sachverhalt: Es gibt Spiele wie z.b. Pro Evolution Soccer 6, die, wenn man per ALT-TABULATOR zu einem anderen Programm wechseln will, dann nicht mehr Vollbild, sondern nur noch in einem verkleinertem Fenster dargestellt werden. Andere Spiele wie z.b. Warcraft 3 TFT werden komplett minimiert. Frage: Hat jmd. eine Ahnung wie man das auch auf Warcraft 3 TFT anwenden kann? Hat wahrscheinlich nix mehr mit Delphi zu tun aber würde mir die Arbeit ersparen, mit den zuvorgenannten Hook-Komponenten zu hantieren. lg lucster |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 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 by Thomas Breitkreuz