Screen



  • Hi!

    Wie kann man (nach Möglichkeit ohne DirectX) den kompletten Bildschirminhalt auslesen?

    Ich meine, dass muss ja irgendwie (vielleicht mit 'ner API-Function?) gehen. Immerhin konnte man das unter Win ja auch schon, bevor es DX überhaupt gab.

    Thx, Andi



  • Ich hab' mir mittlerweile was einfallen lassen, allerdings 100 % weitergekommen bin ich leider noch nicht.

    Ich dachte da genauer gesagt an die Druck-Taste, dann hab ich den Screenshot wenigstens schon mal in der Zwischenablage 😉

    Deshalb: Was muss ich bei der INPUT-Struktur eingeben, damit ein "Druck"-Key verschickt wird?

    typedef struct tagKEYBDINPUT {
        WORD    wVk;
        WORD    wScan;
        DWORD   dwFlags;
        DWORD   time;
        DWORD   dwExtraInfo;
    } KEYBDINPUT, *PKEYBDINPUT, FAR* LPKEYBDINPUT;
    

    Zugegeben, etwas proproietäre Technik, aber das ist mir jetzt mal ausnahmsweise nicht so wichtig.



  • wVk = VK_PRINT;

    Wäre mein Vorschlag. Den Rest würde ich erstmal ignorieren, da habe ich nichts gefunden, das passend aussah.



  • Was hälst du davon?

    CDC Deskdc;
    	Deskdc.Attach(::GetDC(NULL));
    
    	CDC * dc = GetDC();
    	dc->BitBlt(0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN),&Deskdc,0,0,SRCCOPY);
    	ReleaseDC(dc)
    

Anmelden zum Antworten