Programm, dass bestimmte pixel in anderer Farbe darstellt
-
Vllt kennt jemand so ein Programm oder kann mir vllt sagen, wie ich das am besten machen (in C++ mit Borland):
Ich möchte ein kleinen Programm haben, in dem ich zuerst einstelle, welche Pixel in einer anderen Farbe dargestellt werden (nur ein paar wenige in der Mitte des Bildschirms, als Fadenkreuz) und dann mit einem Hotkey aktiviere, dass diese angezeigt werden und mit diesem das auch wieder deaktivieren kann.
Wichtig ist, dass die Pixel immer zu sehen sind, egal welches andere Programm im Vollbildmodus läuft.
-
Nimm doch nen filzstigt und mal nen fadenkreuz drauf! ps: viel spaß beim cheaten
-
Wasserloeslicher Folienstift tuts bei CRT Bildschirmen, bei TFTs waere ich da etwas vorsichtiger. Einfach vorher eine duenne PLexiglasscheibe draufmachen, dann die Markierung vornehmen. Garantiert PunkBuster sicher!
-
Hab ihr auch sinnvolle Ideen, wie man das mit nem kleinen Programm erledigen kann?
ne plexiglasscheibe vorm bildschirm kann man natürlich auch besser säubern.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Spiele-/Grafikprogrammierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Overlays vielleicht, aber keine Ahnung ob das PunkBuster checkt.
Wie wär's mit Fäden wenns schon um ein Fadenkreutz geht (könnte man am Frame festmachen, kein Problem mit TFTs).
-
bringt doch eh nichts die waffen verziehen so oder so
-
punk buster is mir egal.
Hab jetzt erst mal 4 Fenster gemacht, die immer FormStyle->fsStayOnTop haben.
Aber iwie funzt das nich. Hat jemand ne Ahnung wieso?
Hab auch schon SetWindowPos ausprobiert, geht aber auch nich.
-
Wieso möchtest du es denn unbedingt auf Softwareebene haben? Sowas hat doch jeder.
Heb dich doch lieber von der Masse ab, und nutz eine unkonventionelle Lösung, wie die hier vorgeschlagenen!
-
Bocky< schrieb:
Hat jemand ne Ahnung wieso?Weil der "exclusive fullscreen" Modus eben "exclusive fullscreen" ist... was denkst du denn

-
Hi,
eine Moeglichkeit waere, die Grafik-Schnittstelle des Spieles zu nutzen und dazu zu bringen, die Sachen fuer dich zu zeichnen (neben Overlays, s. oben).
Um das zu bewerkstelligen schreibst du ne DLL, die in den Prozess geladen (injected) wird oder bringst den Prozess anderweitig dazu, sie zu laden (gibt da ja diverse Moeglichkeiten).
Die DLL wuerde dann im Falle von Direct3D die Direct3DCreateX (X fuer DirectX Version) hooken. Bei einem Aufruf der neuen Funktion erstellst du ein Wrapper-Interface (abgeleitet von IDirect3DX) und ueberschreibst die Methode CreateDevice. In der Methode machst du das selbe fuer IDirect3DDeviceX (wieder Wrapper schreiben).
Du hasts fast geschafft
Jetzt ueberschreibst du EndScene und kannst darin deinen Code ausfuehren (Fadenkreuz zeichnen).Bei OpenGL stellt sich das ganze wesentlich einfacher dar (da keine Interfaces, OOP, virtuelle Funktionen usw.). glSwapBuffers hooken und dort deinen Code ausfuehren.
Viel Spass, koennte wahrscheinlich ne Weile dauern

Habe das auch schon hinter mir, aber man lernt ordentlich was dabei.Gruss,
DeSoVoDaMu
-
Hatte noch ne andere Idee: ich sag einfach mit nem Timer alle paar sekunden:
SetWindowPos(Fenster1->Handle,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSENDCHANGING|SWP_NOSIZE|SWP_SHOWWINDOW); SetWindowPos(Fenster2->Handle,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSENDCHANGING|SWP_NOSIZE|SWP_SHOWWINDOW); SetWindowPos(Fenster3->Handle,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSENDCHANGING|SWP_NOSIZE|SWP_SHOWWINDOW); SetWindowPos(Fenster4->Handle,HWND_TOP,0,0,0,0,SWP_NOMOVE|SWP_NOSENDCHANGING|SWP_NOSIZE|SWP_SHOWWINDOW);Also das die Fenster onTop sind. Das funktioniert auch soweit, nur ist dann immer die Maus zu sehen. Ich hab auch schon versucht, die mit ShowCursor auszublenden, das geht aber nur kurzzeitig, irgendwann kommt sie wieder.

Ansonsten zu deinem Vorschlag: dann sollte ich doch mal damit anfangen, wie man eine dll schreibt und in ein anderes programm läd.