bildschirm in fenster

  • Hallo
    Ich möchte gerne zu erst, wie bei der Windows Bildschirmlupe; den Bereich in welchem die Maus ist vergrößert in einer Gui anzeigen.
    Ich weiß nur nicht wie ich das hinbekommen könnte da _screnncapture zu langsam ist
    für Tipps oder sogar Snippets währe ich sehr dankbar
    zweitens. Ist es möglich mit dieser Methode über tcp die Informationen zu einem 2. Pc zu senden und dort in einer GUI anzeigen zu lassen?

    ich weiß nur das es mit irgend einer Dll funktioniert
    aber ob dies dan auch mit tcpsend funktioniert weiß ich nicht

  • Hi,
    wie das mit der Lupe geht weiß ich leider nicht aber zu deinem anderen Problem:

    Der Server:

    Spoiler anzeigen
    [autoit]

    TCPStartup() ;Startet TCP Service
    $Socket = TCPListen(@IPAddress1,3000) ;startet einen "lausch Posten" mit der IP-Adresse und dem Port 3000
    While 1
    $NewSocket = TCPAccept($Socket) ;Wartet auf einen Clienten der mit den bei TCPListen angegebenen Daten Connecten will
    If $Accept >= 0 then ;Wenn eine Ferbindung hergestellt wird...
    Do
    $Empfang = TCPRecv($NewSocket,2048) ;Wartet auf eingehende Nachricht
    Until $Empfang <> "" ;Wenn die Nachricht nicht gleich "" 8also nichts) ist, dann...
    MsgBox(0,"Empfang",$Empfang) ;Gibt die empfangenen Daten in einer Message Box aus
    EndIf
    WEnd
    TCPCloseSocket ($Socket) ; beendet den "lausch Posten"
    TCPShutdown() ;Schließt den TCP Service

    [/autoit]

    Der Client:

    Spoiler anzeigen
    [autoit]

    $ServerIP = ;Noch zu definieren!!
    $Text = "Der zu sendende Text!"
    TCPStartup() ;Startet TCP Service
    $Connect = TCPConnect($ServerIP,3000) ;verbindet mit dem Server
    TCPSend ($Connect,$Text) ; Sendet den text an den Server
    TCPCloseSocket($Connect) ;beendet die Verbindung zum Server
    TCPShutdown() ;Schließt den TCP Service

    [/autoit]

    Ich hoffe ich konnte dir helfen. Wenns nicht funktioniert dann sags, ich habs grad aus dem Kopf geschrieben.
    Du musst halt beim Server noch die Ports freischalten und das ganze in dein GUI einbauen.

    LG Jakolo

  • Einfach Lupe in die Suche eingeben:

    Spoiler anzeigen
    [autoit]

    #include<WindowsConstants.au3>
    #include<GUIConstantsEx.au3>
    Opt("WinTitleMatchMode", 4)
    Opt('GUICloseOnESC', 1)
    Opt('GUIOnEventMode', 1)
    HotKeySet("{F1}", "Zoom")
    $MagWidth = 150
    $MagHeight = 150
    $MagZoom = 2;1.00000000000000001
    Global $dll[3], $DeskHDC, $GUIHDC
    Global $scoop = 0x00CC0020
    $dll[1] = DllOpen("user32.dll")
    $dll[2] = DllOpen("gdi32.dll")

    [/autoit] [autoit][/autoit] [autoit]

    Global $shell = WinGetPos("classname=Shell_TrayWnd")
    Global $GUI = GUICreate("Gui", 160, 160, @DesktopWidth - 160, @DesktopHeight - 160 - $shell[3], $WS_POPUP, $WS_EX_TOPMOST)
    GUISetOnEvent($GUI_EVENT_CLOSE, "OnAutoItExit")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    $DeskHDC = DllCall("user32.dll", "int", "GetDC", "hwnd", 0)
    $GUIHDC = DllCall("user32.dll", "int", "GetDC", "hwnd", $GUI)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    MAG()
    Sleep(5)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func Zoom()
    $MagZoom = $MagZoom + 1
    EndFunc ;==>Zoom

    [/autoit] [autoit][/autoit] [autoit]

    Func MAG()
    Local $magZoomedWidth = $MagWidth / $MagZoom, $magZoomedHeight = $MagHeight / $MagZoom
    DllCall("gdi32.dll", "int", "StretchBlt", "int", $GUIHDC[0], "int", _
    0, "int", 0, "int", $MagWidth, "int", $MagHeight, "int", $DeskHDC[0], "int", _
    MouseGetPos(0) - ($magZoomedWidth / 2), "int", MouseGetPos(1) - ($magZoomedHeight / 2), "int", $magZoomedWidth, "int", $magZoomedHeight, _
    "long", $scoop)
    EndFunc ;==>MAG

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func OnAutoItExit()
    DllCall("user32.dll", "int", "ReleaseDC", "int", $DeskHDC[0], "hwnd", 0)
    DllCall("user32.dll", "int", "ReleaseDC", "int", $GUIHDC[0], "hwnd", $GUI)
    DllClose($dll[1])
    DllClose($dll[2])
    Exit (0)
    EndFunc ;==>OnAutoItExit

    [/autoit]