Desktop memory verändern



  • Hey C++er,
    ich habe gelesen, dass es i-wo einen Speicher für die Desktoppixel gibt. Also ein allgemeiner, welcher direkt von Windows ist. Ich würde gerne wissen, gibt es diesen, wenn ja, wo?
    Wenn ihr euch frage warum ich das wissen will, soll euch gesagt sein, ich will nichts hacken oder ähnliches, nur schnell die pixel ändern können, indem ich diese direkt änder.
    Ich möchte NICHT mit einem HDC oder sowas arbeiten, da mir diese zu langsam sind und immer übermal werden wenn sich das dazugehörige Fenster ändert.

    P.S.: Ich wusste nicht genau in welchen Forenteil, daher habe ich einfach mal die WinAPI ausgewählt, da ich dies auf Windows machen will, und ich nachher warscheinlich mit memory Funktionen der WinAPI arbeiten werde.



  • Xyron schrieb:

    Ich möchte NICHT mit einem HDC oder sowas arbeiten, da mir diese zu langsam sind und immer übermal werden wenn sich das dazugehörige Fenster ändert.

    Das wird ein wenig schwierig, vielleicht verratest du uns mal etwas genauer was du eigentlich machen willst?


  • Mod

    Solch einen Weg gibt es nicht.
    Du hast die Wahl.
    1. GDI
    2. GDI+
    3. DirectX
    4. Direct2D (Ein Subset von DirectX)



  • Danke für die schnelle Antwort,
    aber dies ist nicht genau was ich gesucht habe. Ich wollte es OHNE eine Grafikbibliothek machen.
    DirectX ist mir zu kompliziert und genause Direct2D, ist ja nur ein Teil davon.
    Was ich machen wollte ist, dass ich mit z.B. einen Speicher öffnen, und dann indem ich die RGB Werte (oder was auch immer) mit einem einfachen aufruf einer Memoryhack
    Funktion die Farbe eines Pixels ändern kann. Ich denke dies geschieht über Hardware-Speicher oder doch nur über Windows?! Der Pixel sollte SOFORT die Farbe ändern, und nicht erst wenn das Fenster nachgemalt wird,
    womit ich mir den Umweg über die WM_PAINT und über die Windows Fenstermalerei sparen will, um die Performance zu erleichtern.
    Ich brauche auch nicht große Funktionen für Kreise oder so, da ich nur Rechtecke malen will, und dafür ist schnell eine Funktion geschrieben, wenn ich ersteinmal an die Pixel herankommen.
    MfG,
    Xyron



  • Das liest sich irgendwie verwirrend.
    Willst du einfach über was auch immer gerade angezeigt wird drüber malen?



  • Willkommen im Jahr 2011 😉
    Das ist leider alles andere als einfach und selbst wenn du irgendeinen extremen Hack finden solltest (der dich dann natürlich an eine bestimme Windowsversion bindet und mit Compositing und DWM an/aus usw. gibts da sicherlich allerlei nette Problemchen), Performancemäßig wäre das sicherlich alles andere als ideal (mit der CPU im Videospeicher rumzumalen ist alles andere als schnell und sollte möglichst vermieden werden). Bestmögliche Performance erreichst du heutzutage mit Direct3D. Was genau willst du denn eigentlich malen und warum auf den ganzen Desktop!?

    Einfacher als mit GDI wirds jedenfalls garantiert auf keinen Fall...



  • Naja, das hatte ich mir simpler vorgestellt, aber wenns heutzutage nichtmehr geht ...
    Aber D3D ist und bleibt mir zu kompliziert. Vielleicht kennt jemand ein gutes deutsches Tutorial?
    Weil ich habe nur englische gefunden, und dafür reicht mein englisch leider nicht aus ...
    reicht nur für linien, nen clear befehlt und nen bisschen schrift, aber alles nur 2D. Obwohl selbst das reicht.
    MfG,
    Xyron



  • Was mir immer noch nicht ganz klar ist: Willst du diese Linien und Rechtecke nun über den Desktop malen oder nur in dein Fenster rein? Weil direkt auf den Desktop malen ist so oder so nicht so einfach bis unmöglich, da ändert auch D3D nicht wirklich was dran...

    Beschreib doch vielleicht mal was genau du machen willst und nicht nur was du denkst was du dazu brauchen wirst, vielleicht gibts ja eine bessere Lösung!?



  • Ich wollte just for fun ein paar Kästchen auf den Bildschirm malen,ohne ein GUI zu erstellen und ohne eine Grafikbibliothek zu nutzen,
    da dies aber unmöglich (oder auch nur fast) ist, werde ich meinen Traum von Kästchen wohl nicht beenden können 😞
    Kennt einer ein gutes Direct2D Tutorial, das auf deutsch ist, dann würde ich mir das mal ansehen, und fürs erste Ruhe geben....



  • Xyron schrieb:

    Ich wollte just for fun ein paar Kästchen auf den Bildschirm malen,ohne ein GUI zu erstellen und ohne eine Grafikbibliothek zu nutzen,
    da dies aber unmöglich (oder auch nur fast) ist, werde ich meinen Traum von Kästchen wohl nicht beenden können 😞

    Ok, es ist sicher nicht unmöglicht aber garantiert um einige Größenordnungen aufwändiger als ein normales GUI zu machen...

    Xyron schrieb:

    Kennt einer ein gutes Direct2D Tutorial, das auf deutsch ist, dann würde ich mir das mal ansehen, und fürs erste Ruhe geben....

    Leider nicht, aber beschreib mal was genau du machen willst (GUI, warum die Kästchen malen!?), dann kann man dir vielleicht ein paar Tips geben wie du das am Besten realisierst...


  • Mod



  • Die Sache ist nur dass ich mir nicht so sicher wär ob Direct2D wirklich das ist was er sucht...


Anmelden zum Antworten