Bitmap bzw. Pc vernsteuern

  • Hallo, ich wollte mal gerne ein Programm schreiben, womit man einen Anderen PC vernsteuern kann, ungefär so wie Team-Viewer, aber ich weiß nicht wie ich es machen soll :(

    Ich hatte die Idee, man könnte ja den Bildschirm Fotografieren, und dann die Rückgabe dem Client schiken, solange ich das in einem Script mache geht das auch, aber soblad ich die rückgabe aus einem Anderen Script nehme geht es nicht mehr, da hängt sich AutoIt auf!

    Das geht weil es in einem Programm ist!
    [autoit]

    #include <GDIPlus.au3>
    #include <ScreenCapture.au3>
    #include <WindowsConstants.au3>
    Dim $Mitte[2]
    $Mitte[0] = @DesktopWidth / 2 - (520 / 2)
    $Mitte[1] = @DesktopHeight / 2 - (570 / 2)
    $Ramen = GUICreate("INC Light", 520, 570, $Mitte[0], $Mitte[1], $WS_POPUP)
    GUISetState()
    _GDIPlus_Startup()
    ;~ $Pic = InputBox(0, "", "")
    $Pic = _ScreenCapture_Capture()
    Global $hBitmap1 = _GDIPlus_BitmapCreateFromHBITMAP($Pic)
    ClipPut ($hBitmap1)
    $hBitmap = ClipGet ()
    Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($Ramen)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 6, 8)
    While 1
    Sleep(100)
    WEnd

    [/autoit]
    Sobald man es jedoch so probiert geht es nicht mehr :(
    [autoit='Bild erstellen']

    #include <GDIPlus.au3>
    #include <ScreenCapture.au3>
    #include <WindowsConstants.au3>
    Dim $Mitte[2]
    $Mitte[0] = @DesktopWidth / 2 - (520 / 2)
    $Mitte[1] = @DesktopHeight / 2 - (570 / 2)
    $Ramen = GUICreate("INC Light", 520, 570, $Mitte[0], $Mitte[1], $WS_POPUP)
    GUISetState()
    _GDIPlus_Startup()
    ;~ $Pic = InputBox(0, "", "")
    $Pic = _ScreenCapture_Capture()
    Global $hBitmap1 = _GDIPlus_BitmapCreateFromHBITMAP($Pic)
    ClipPut ($hBitmap1)
    ;~ $hBitmap = ClipGet ()
    Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($Ramen)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 6, 8)
    While 1
    Sleep(100)
    WEnd

    [/autoit][autoit='Bild zeichnen']

    #include <GDIPlus.au3>
    #include <ScreenCapture.au3>
    #include <WindowsConstants.au3>
    Dim $Mitte[2]
    $Mitte[0] = @DesktopWidth / 2 - (520 / 2)
    $Mitte[1] = @DesktopHeight / 2 - (570 / 2)
    $Ramen = GUICreate("INC Light", 520, 570, $Mitte[0], $Mitte[1], $WS_POPUP)
    GUISetState()
    _GDIPlus_Startup()
    ;~ $Pic = InputBox(0, "", "")
    ;~ $Pic = _ScreenCapture_Capture()
    ;~ Global $hBitmap1 = _GDIPlus_BitmapCreateFromHBITMAP($Pic)
    ;~ ClipPut ($hBitmap1)
    $hBitmap = ClipGet ()
    Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($Ramen)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hBitmap, 6, 8)
    While 1
    Sleep(100)
    WEnd

    [/autoit]

    mfg. Jam00

  • Ich hatte schon mal eine ähnliche Idee, aber warum speicherst du den gemachten Screenshot nicht und lässt ihn dir dann beim anderen programm annzeigen?

  • Ich hab genau das auch schon mal gemacht, bloß etwas umfangreicher, nur müsste ich das umbauen, ums hier im Forum zeigen zu dürfen...
    Es lässt sich nämlich nur vom Client aus entfernen und so... :whistling:

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.