[ erweiterte Suche ]

»Grafiksignal abfangen?

noreply-Emailadressen anlegen wg. SpamfilterNeues Thema eröffnenNeue Antwort erstellenDas Thema einem Freund empfehlenDas Thema druckenvBulletin separate Loginseite
Seite 1 von 1 [5 Beiträge]
AutorNachricht
Beobachter 

Anmeldedatum: 10.11.2011
Beiträge: 3
Chats: 3
10.11.2011, 16:33


Hallo,
Ich frage mich wie man das Grafiksignal eines Pc's abfangen könne, so wie es Teamviewer auch schafft.
Hoffe ihr wisst weiter und gegebenenfalls auch wie man es in c++ realisieren kann.

Mit freundlichen Grüßen

XPoint
Nach obenprofil pn
Junior 

Anmeldedatum: 03.05.2011
Beiträge: 76
Chats: 38
10.11.2011, 18:12


Was meinst du mit Grafiksignal abfangen? Willst du einen Screenshot vom Desktop machen? Das funktioniert so:

   Code:
HBITMAP CaptureDesktop(void)
{
        //Capture desktop into bitmap
        HBITMAP hBitmap = NULL;
        RECT rcDt;
        HWND hDtWnd = ::GetDesktopWindow();
        HDC hDtDC = GetDC(hDtWnd);
        if(hDtDC && GetClientRect(hDtWnd, &rcDt))
        {
                //Create mem DC & bitmap
                int w = rcDt.right - rcDt.left;
                int h = rcDt.bottom - rcDt.top;
                HDC hMemDC = CreateCompatibleDC(hDtDC);
                hBitmap = CreateCompatibleBitmap(hDtDC, w, h);

                if(hMemDC && hBitmap)
                {
                        //Select our bitmap
                        HGDIOBJ hOldBmp = SelectObject(hMemDC, hBitmap);

                        //Copy desktop to mem DC
                        BitBlt(hMemDC, 0, 0, w, h, hDtDC, 0, 0, SRCCOPY);

                        //Select old bmp
                        SelectObject(hMemDC, hOldBmp);
                }

                //Release DCs
                DeleteDC(hMemDC);
                ReleaseDC(hDtWnd, hDtDC);
        }

        return hBitmap;
}


Allerdings ohne Gewähr. D.h. den Code hab ich nicht selbst getestet.
Nach obenprofil pn
Beobachter 

Anmeldedatum: 10.11.2011
Beiträge: 3
Chats: 3
10.11.2011, 18:31


Hey,
ich meine das Original Signal, welches der Bildschirm auch bekommt.
Um dann z.b. ein Video usw. zu erstellen
Schon mal Danke

Mit freundlichen Grüßen

XPoint
Nach obenprofil pn
Junior 

Anmeldedatum: 03.05.2011
Beiträge: 76
Chats: 38
10.11.2011, 18:43


Im Grunde kannst du das mit dem obigen Code machen. Du musst nur zyklisch die Bitmaps erstellen, z.B. 25 mal pro Sekunde und die dann per AVI-Codec wegschreiben.

Da gibt es aber auch schon fertige OpenSource Projekte, z.B. Camstudio. Das ist ein freies Tool zum Screenrecording. Ansonsten gibt es natürlich auch noch jede Menge kommerzielle Software, mit mehr Funktionalität, wie den Camtasia Screen Recorder etc.
Nach obenprofil pn
Beobachter 

Anmeldedatum: 10.11.2011
Beiträge: 3
Chats: 3
10.11.2011, 18:55


vielen Dank

Mit freundlichen Grüßen
XPoint
Nach obenprofil pn
Gast 

10.11.2011, 18:55


Mach mit!

Wenn Dir die Beiträge gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:

    » Anmelden

Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...
Nach oben
Seite 1 von 1 [5 Beiträge]
Neue Antwort erstellen
© 2004 - 2012 www.programmierer-forum.de (srv02) | Communities | Impressum