Ich bhabe mal inzwischen etwas weitergemacht aber es funktioniert immer noch nicht richtig.
1. GUICtrlCreatePic kann nur bmp darstellen wenn ich das richtig aus der hilfe rausgelesen hab.
2. Ich habe mal manuell verucht eine jpg zu kopieren mit rechtsklick->öfnen mit->Editor und das bei der anderen jpg auch und dann Strg+a kopiert und bei dem anderen eingefügt. ergebnis: nix windows bildanzeige kann das bild net öffnen.
3. die zahl in dem tooltip endert sich immer minimal aber das bild was mit _ScreenCapture_Capture gemacht wird endert sich nich das iss immer mein desktop bevor Server.exe die GUI sichtbar macht.
mein aktueller code:
Server:
Spoiler anzeigen
#include <GUIConstants.au3>
HotKeySet("{ESC}", "_Exit")
TCPStartup()
[/autoit] [autoit][/autoit] [autoit]$IP = InputBox("IP-Adresse", "ZU verbindende IP-Adresse eingeben.")
[/autoit] [autoit][/autoit] [autoit]$MainSocket = TCPListen($IP, 1911, 128)
[/autoit] [autoit][/autoit] [autoit];Auf Client warten
Do
$Socket = TCPAccept($MainSocket)
Until $Socket >= 0
;Auf daten @DesktopHeight und @DesktopWidth vom clienten warten
Do
$Settings = TCPRecv($Socket, 16384)
Sleep(25)
Until $settings <> ""
$Setting = StringSplit($settings, "|")
;GUI erstellen
GUICreate("", $Setting[1], $Setting[2], 0, 0, $WS_POPUP)
$GPic = GUICtrlCreatePic("", 0, 0, $Setting[1], $Setting[2])
GUISetState()
;Auf Nachricht warten und anzeigen
$show = 0
While True
$message = TCPRecv($Socket, 16384)
Sleep(25)
If $message <> "" Then
If StringLeft($message,14) = "****ANFANG****" Then ;beim anfang file löschen
FileDelete(@ScriptDir & "\Pics.jpg")
ElseIf StringRight($message,14) = "******ENDE****" Then ;beim ende show = 1 und nachricht löschen
$show = 1
$message = StringTrimRight($message,14)
EndIf
$FOB = FileOpen(@ScriptDir & "\Pics.jpg", 1)
FileWrite($FOB, $message)
FileClose($FOB)
If $show = 1 Then
GUICtrlSetImage($GPic, @ScriptDir & "\Pics.jpg")
$show = 0
EndIf
$message = ""
EndIf
WEnd
Func _Exit()
TCPCloseSocket($Socket)
TCPShutdown()
Exit
EndFunc
Client:
Spoiler anzeigen
#include <ScreenCapture.au3>
[/autoit] [autoit][/autoit] [autoit]HotKeySet("{ESC}", "_Exit")
[/autoit] [autoit][/autoit] [autoit]_ScreenCapture_SetJPGQuality(25)
[/autoit] [autoit][/autoit] [autoit]TCPStartup()
[/autoit] [autoit][/autoit] [autoit]InputBox("Deine IP Adresse", "Sende diese Nummer am Dustin per ICQ. Diese Nummer brauche ich damit das programm fumktioniert. Noch nicht auf OK klicken!!!", @IPAddress1)
[/autoit] [autoit][/autoit] [autoit];Mit Server verbinden
$Socket = TCPConnect("192.168.0.9", 1911)
If $Socket = -1 Then
TrayTip("Fehler:", "Konnte nicht verbunden werden." & @CRLF & "Error code: " & @error, 5)
Sleep(5000)
Exit
EndIf
TCPSend($Socket, @DesktopWidth & "|" & @DesktopHeight)
[/autoit] [autoit][/autoit] [autoit]While True
;Bildschirm kopieren und senden
_ScreenCapture_Capture(@ScriptDir & "\Picc.jpg")
Sleep(20)
$FOB = FileOpen(@ScriptDir & "\Picc.jpg", 0)
TCPSend($Socket, "****ANFANG****")
Sleep(50)
$Bytes = 0
While 1
$Pic = FileRead($FOB,16384)
If @error = -1 Then ExitLoop
$Bytes += TCPSend($Socket, $Pic)
Sleep(20)
WEnd
ToolTip($Bytes, 0, 0)
FileClose($FOB)
TCPSend($Socket,"******ENDE****")
WEnd
Func _Exit()
TCPCloseSocket($Socket)
TCPShutdown()
Exit
EndFunc