![]() |
Titelleiste von fremdem Programm entfernen
Der Titel sagt es bereits, ich möchte gern die Titelleiste eines fremden Programmes entfernen. Suche hat leider nichts ergeben. Hat jemand eine Idee?
Thx |
Re: Titelleiste von fremdem Programm entfernen
An welcher Stelle genau kommst du nicht weiter?
Du musst zuerst das Fenster ermitteln, dann den Style des Fensters ändern und abschließend noch ein neu zeichnen erzwingen. |
Re: Titelleiste von fremdem Programm entfernen
Handle des Windows ist bereits bekannt, es geht um das Entfernen der Leiste. ;)
Zitat:
|
Re: Titelleiste von fremdem Programm entfernen
get/setwindowlong mit GWL_STYLE als 2. Parameter ;)
http://msdn.microsoft.com/en-us/library/ms633591(VS.85).aspx |
Re: Titelleiste von fremdem Programm entfernen
Also so, bevor er sich totsucht ;)
Delphi-Quellcode:
SetWindowLong(Wnd,GWL_STYLE,GetWindowLong(Wnd,GWL_STYLE) and not WS_CAPTION);
|
Re: Titelleiste von fremdem Programm entfernen
Dankesehr euch beiden.
|
Re: Titelleiste von fremdem Programm entfernen
Kann mir mal bitte jemand erklären, wozu das gut sein soll?
|
Re: Titelleiste von fremdem Programm entfernen
Soweit so gut, nun gibt es manchmal das Problem, dass es seltsamerweise auf manchen PCs klappt und auf anderen nicht. Bei meinem PC zum Beispiel wird die Titelleiste entfernt und bleibt auch entfernt. Bei einem anderen PC verschwindet die Titelleiste nur für ein paar Sekunden und wird dann seltsamerweise wieder hergestellt, wovon auch immer. Jemand ne Idee?
|
Re: Titelleiste von fremdem Programm entfernen
** push **
|
Re: Titelleiste von fremdem Programm entfernen
Nun gibt es ein neues Problem. Statt die Titelleiste zu entfernen, soll sie umgewandelt werden. Praktisch habe ich ein normales Fenster, und hätte nun gerne das dieses ein ToolWindow ist. Also mit kleiner Titelleiste. Aber wie? Ich habe mit SetWindowLong und WS_CHILD rumgespielt, aber nichts hat funktioniert. Jemand nen Tipp?
|
Re: Titelleiste von fremdem Programm entfernen
Versuch es mal so:
Delphi-Quellcode:
;)
SetWindowLong(Wnd, GWL_EXSTYLE, GetWindowLong(Wnd, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
Um es dann auch anzuwenden, musst du auch noch setwindowpos aufrufen:
Delphi-Quellcode:
SetWindowPos(hhd, 0 ,0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOZORDER or SWP_FRAMECHANGED );
|
Re: Titelleiste von fremdem Programm entfernen
Thank you so much sir!
|
Re: Titelleiste von fremdem Programm entfernen
Zitat:
Viele Spiele erfordern es einfach, Sachen online nachzuschauen. MMORPGs sind da ganz vorne dabei. Nun braucht so ein Wechsel vom Spiel im Vollbildmodus auf den Desktop recht viel Zeit. Der Inhalt des Grafikspeichers will gesichert werden usw. usf.. Ausserdem reagieren einige Spiele beim Wechsel sehr empfindlich und neigen zu undefinierbarem Verhalten. Deshalb haben viele Spiele einen Fenstermodus. Der Fenstermodus macht nicht nur das parallele Nutzen von Spiel und Ressourcen ausserhalb des Spiels deutlich einfacher, sondern behebt auch diese lästigen Probleme die einige Spiele beim minimieren haben. Leider hat man dort so einen hässlichen Fensterrahmen. Lösung: Fensterrahmen wird einfach ausgeblendet und die Größe des Fensters wird auf die Auflösung gesetzt. Der Effekt ist ein Spiel das aussieht wie im Vollbildmodus, aber problemlos das Wechseln zu anderen Anwendungen erlaubt ohne lästige Verzögerungen oder Stabilitätsprobleme. Das Ganze zahlt man zwar mit verringerter Performance, aber ob ihr Spiel jetzt mit 50 oder 60 FPS rennt, interessiert die meisten Zocker recht wenig. Das Ganze haben übrigens auch einige Spielehersteller erkannt und bieten entsprechend einen "maximierten Fenstermodus" bzw. "Fenstermodus ohne Fensterdekoration" an (World of Warcraft, Warhammer Online z.B.). Aber halt nicht alle. Dort gibts den Effekt dann über spezielle Launcher/Loader, die einfach die Fensterdeko entfernen (Age of Conan z.B.). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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