Screenshot per Netzwerk senden



  • Moin,
    und wieder ein schönes problem:
    ich möchte ein programm schreiben, womit ich einen rechner mittels einem anderen fernsteuern kann. dafür möchte ich jetzt den bildschirm von dem einem Rechner "fotografieren" und per netzwerk an den anderen senden. es muss jetzt auch keine flüssige übertragung sein, mir würden einzelene bilder ja reichen. ich weiss weder, wie man einen screenshot macht, noch wie man diesen dann versenden kann.
    die verbindung und übertragung behandel ich per CAsyncSocket

    bin für jede hilfe dankbar



  • In der WinAPI Faq war glaube ich eine Funktion die einen Screenshot gemacht hat und diesen anschließend in eine Datei (.bmp) gespeichert hat.

    [ Dieser Beitrag wurde am 30.04.2003 um 02:09 Uhr von Nemesyzz editiert. ]



  • Da hab ich auch schon was gesehen, aber wenn ich das ganze (24 bit und 1024*768 oder höher) als bitmap nehm, wird das ganze doch wohl etwas zu gross um es noch per netzwerk versendbar zu machen und ausserdem bleibt dann noch das problem mit dem versenden einer datei per netzwerk

    [ Dieser Beitrag wurde am 30.04.2003 um 09:30 Uhr von Emperor_L0ser editiert. ]



  • Nein. Statt WriteFile nimmst du einfach CAsyncsocket::Send.
    Musst die Funktion halt ein bissle umbauen.



  • Ok, danke erstma werd ich mal ausprobieren



  • kann sein das ich zu blöd bin (mit großer wahrscheinlichkeit), aber ich habe keine ahnung wie ich Send() überschreiben soll, bzw. was dann darin stehen muss.
    könnt ihr mir weiterhelfen



  • Ich würde das so garnicht weiter programmieren da dies zu langsam ist um eine Fernsteuerung zu schreiben.

    Schau mal bei codeguru oder ähnliche. Da gibt es Programm dafür.
    Aber mal ehrlich. Befasse dich mal mit den Grundfunktionen der Netzwerkprogrammierung. (Ist jetzt nicht abwertend gemeint)
    Aber ich weiß wovon ich spreche. Habe auch mal eine Fernsteuerung geschrieben die sogar funktionierte.

    Da kommst du mit Bmp nicht weiter. Du musst den Stream komprimieren. Weiters nur den Teil senden der sich geändert hat. Dann musst du die Events (Maus,Tastatur) auch wieder zurücksenden und in deinem Server verarbeiten und and BS übergeben. ETC.
    Ich will dir aber nicht die Motivation nehmen da ich ja nicht wissen kann wieweit deine Kenntnisse reichen.

    [ Dieser Beitrag wurde am 30.04.2003 um 23:06 Uhr von Unix-Tom editiert. ]



  • @Unix-Tom
    das mit nur dem aktualisiertem Teil zu senden ist schon ne ganz clevere idee und das mit dem senden der daten in die andere richtung und auch tastatur und maus eingabe ist nicht weiter schwierig.
    Es soll auch kein super ultra programm werden, nur ich hab keinen bock drauf abends gemütlich auf dem bett mit laptop zu sitzen und alle halbe stunde aufzustehen, weil der andere rechner nur noch müll baut. 😃



  • Wenn es für mehr nicht sein soll dann brauchst es ja nicht unbedingt selber zu schreiben: http://www.uk.research.att.com/vnc/
    Sogar mit Source.



  • DAnke, selber schreiben macht aber mehr spass 🙂


Anmelden zum Antworten