Hallo Leute,
ich hab folgendes Problem, ich möchte ein kleines Tool programmieren womit ich einen PC neustarten kann.
Dafür hab ich mir gedacht ich hör permament über TCP Listen einen Prot ab. Wenn hier der Richtige Wert empfangen wird,
wird der PC neugestartet. Mein Problem ist jetzt, das die CPU Last fast 100% berägt.
Die Frage jetzt was mache ich falsch? Wie kann ich mein script CPU freundlich gestalten.Ich habs schon mit sleep in der Schleife probiert.
Leider wirkt sich das auf das Script aus.GUI ist nicht mehr schliessbar und Passwort wird nicht mehr verschlüsselt in der Ini abgelegt.
Hier das Angangsgerüst dieser wüsten Idee, bin nach Stundenlangen suchen und experimentieren jetzt total in ein Loch gefahren.
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <String.au3> ;Verschlüsselung einbinden
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\waidler\Desktop\Steuerserver\Form1.kxf
$Form1 = GUICreate("Fernsteuerung für Shutdown", 275, 197, 192, 124)
$Label1 = GUICtrlCreateLabel("Eingabe Remotepasswort", 64, 64, 147, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("Passwort Speichern", 64, 120, 115, 25, $WS_GROUP)
$Input1 = GUICtrlCreateInput("Input1", 64, 88, 121, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
$Label2 = GUICtrlCreateLabel("Remote Server V1.0", 40, 24, 191, 28)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;Passwort für die Verschlüsselung
Dim $cryptopasswort = "l23jk452jk3ös"
;Dim $pwinstring = "38E65A5B8812B2536CD5E16990C332022B93366EDDB65A38C226AD2B0F5CC91D"
While 1
[/autoit] [autoit][/autoit] [autoit]TCPStartup ()
$sv_Ip = TCPNameToIP ( "localhost" )
$incoming_Socket = TCPListen ($sv_Ip, 333, 1000)
TCPAccept ($incoming_Socket)
$pwinstring = TCPRecv ( $incoming_Socket, 4096)
$pwstring = IniRead (@ScriptDir & "\Passwort.ini", "Passwort", "var", "")
If $pwinstring= $pwstring Then
TCPSend ($incoming_Socket, "OK")
EndIf
TCPShutdown ()
IF $pwinstring<> $pwstring Then
TCPSend ($incoming_Socket, "Falsches Passwort")
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$pwstring = _StringEncrypt(1, GUICtrlRead ($Input1), $cryptopasswort, 3)
IniWrite (@ScriptDir & "\Passwort.ini", "Passwort", "var", $pwstring )
Case $Form1
Case $Label1
EndSwitch
WEnd
Für jede Lösung im Voraus Dankbar
MfG
Waidler