Form in-Game anzeigen lassen? (VB.NET) Verfasst am: 06.01.2008, 17:25
hallihallo
ich wuerde gerne wissen, wie ich meine form in-game anzeigen lasse.
hab mir gedacht das wuerde mit der topmost-methode (auf true) funktionieren, - hab mich allerdings getaeuscht.
weiß da jmd weiter?
ps:
es handelt sich insbesondere um das game Battlefield 2 - dafuer wuerd ichs brauchen.
für CS1.6 waer das allerdings auch ganz fein.
lg
Bahamut_ « Moderator »
Anmeldedatum: 12.12.2006 Beiträge: 250
Verfasst am: 06.01.2008, 17:40
Das Problem ist viel komplizierter als du denkst - und ohne gute Kenntnisse in Sachen .dlls, DirectX und C/C++ wohl gar nicht machbar.
DirectX / Direct3D / OpenGl - also die jeweile Grafikschnittstelle "übermalt" alles und der einzig mir bekannt Weg das zu umgehen, ist eine selbstgeschriebene .dll, welche zwischen dem Spiel und der Orginal dll (z.b d3d9.dll - bei DX9) arbeitet, also in etwa so:
Spiel - deine .dll - d3d9.dll
Du musst dafür sorgen, dass das Spiel deine .dll aufruft und deine .dll wiederrum die d3d9.dll - also jeglicher Datenfluss über deine .dll läuft. Nur dann kannst du auch die Inhalte verändern.
Ist ganz einfach für die SourceEninge. Ich habe das hier mal kompiliert, müsste eigentlich auch für 1.6 klappen:
deleted by me (neucompile ich nachher, funkt net so ganz ^^)
Einfach eine Verknüpfung reinhauen, dann als 1. Parameter den Pfad zum DLL angeben und als 2. Pfad den Spielnamen (z.B. "Counter-Strike 1.6" oder "Counter-Strike: Source" [muss ein Spielname sein, der beim öffnen des Spiels in der Taskleiste angezeigt wird]).