Screenshot Probleme! (nur schwarz)

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    Screenshot Probleme! (nur schwarz)

    Hallo Leute!

    Ich habe ein Problem, ich möchte Screenshot in einen Spiel(beliebig) erstellen.

    Ich habe schon tausende fertige Codes ausprobiert,

    es macht nur einen Screen vom Windows, auch wenn das Spiel gestartet ist!

    Wenn ich ein Spiel starte, und Manuell mit Druck Taste bestätige.

    Zeigt es auch nur ein Schwarzes Fenster an?

    Was ist da los?

    Und wie kann ich das Problem lösen!

    Ich möchte dass man Screenshot in Game machen kann.

    Bitte helft mir!

    By
    Visual Basic.NET 8o
    MS-SQL
    8o

    Cheffboss schrieb:

    Was ist da los?
    Was passiert, wenn Du Deinen Code auf das Notepad oder den Calculator anwendest?
    Was passiert, wenn Du die Systemfunktion Druck auf das Spiel anwendest?
    Viele Spiele arbeiten mit Graik-Beschleunigung, da wird vom System nur ein leeres Fenster bereitgestellt und die Information wird vom Spiel direkt in die Grafikkarte geschrieben.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Was passiert, wenn Du Deinen Code auf das Notepad oder den Calculator anwendest?
    Es wird alles angezeigt, jedes Windows Programmm.

    Was passiert, wenn Du die Systemfunktion Druck auf das Spiel anwendest?
    Ich kann z.B in MS-Paint auf Einfügen klicken, und es wird nur ein leeres Schwarzes Bild angezeigt!

    Viele Spiele arbeiten mit Graik-Beschleunigung, da wird vom System nur ein leeres Fenster bereitgestellt und die Information wird vom Spiel direkt in die Grafikkarte geschrieben.
    Bei allen Spielen, ist das so (Need For Speed Underground, Grand Theft Auto San Andreas...).
    Visual Basic.NET 8o
    MS-SQL
    8o

    Cheffboss schrieb:

    und es wird nur ein leeres Schwarzes Bild angezeigt!
    Wie Du siehst, ist das ein System-Problem, nicht aber ein Problem Deiner Software.
    Wenn das Spiel nicht fotografiert werden möchte, kannst Du es mit normalem Aufwand auch nicht fotografieren.
    Hat das Spiel eine eigene Copy-Funktion?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hat das Spiel eine eigene Copy-Funktion?
    So weit ich weiß haben die Spiele keine eigene Copy-Funktion.

    Ich habe diesen Quellcode verwendet, ich bin mir nicht ganz sicher, aber ich glaube unter Windows 7 ging der Code auch wenn man in einem Spiel ist.
    Mein Betriebystem ist Windows 8.1.
    Kann jemand den Code unter Windows 7 kurz testen?
    Vielen Dank!


    VB.NET-Quellcode

    1. Private Function MakeScreenShot() As Bitmap
    2. Dim screenImage As Bitmap
    3. screenImage = New Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height)
    4. Dim gr As Graphics = Graphics.FromImage(screenImage)
    5. gr.CopyFromScreen(New Point(0, 0), New Point(0, 0), Screen.PrimaryScreen.Bounds.Size)
    6. Dim b As Bitmap = New Bitmap(screenImage)
    7. Return b
    8. End Function

    Visual Basic.NET 8o
    MS-SQL
    8o

    Cheffboss schrieb:

    Kann jemand den Code unter Windows 7 kurz testen?
    Dieser Code funktioniert.
    Was soll die merkwürdige Formatierung Deiner Posts?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    Ich dachte mit der Fett formatierten Schriftt kann man es besser lesen.

    @nafets3646
    Ok, scheint so zu sein.
    Schade, falls jemand doch eine lösung hat würde ich mich sehr darüber freuen.

    Vielen Dank,für eure Antworten
    Visual Basic.NET 8o
    MS-SQL
    8o
    Gibt schon eine Lösung. Nur wird die für dich bei weitem zu anspruchsvoll sein. Lösung wäre je nach dem ob es DirectX oder OGL ist DirectX oder OGL zu hooken und dort einen Screenshot abzuzwacken.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.