Braust du nicht zu installieren zum Testen!
Ich hab's jetzt auch nur auf einem Rechner getestet, ging einwandfrei! Ich hab dieses Skript auch schon mal im Netz probiert und ging auch super.
Braust du nicht zu installieren zum Testen!
Ich hab's jetzt auch nur auf einem Rechner getestet, ging einwandfrei! Ich hab dieses Skript auch schon mal im Netz probiert und ging auch super.
Also bei mir geht's genau so wie du das gepostest hast, aber nur einmal!
Ich hab beim Server nach der MsgBox noch mal 2 Zeilen eingefügt, dann funktioniert's auch öfter. Ich weiß allerdings nicht wieso das so geht, aber bis jetzt gings immer so einwandfrei!
server
[autoit]$Port = 33891
TCPStartUp()
While 1
$MainSocket = TCPListen(@IPAddress1, $Port, 100 )
Do
$ConnectedSocket = TCPAccept($MainSocket)
Until $ConnectedSocket <> -1
$recv = TCPRecv($ConnectedSocket, 40)
If StringLeft($recv, 2) = '00' Then
$aMsg = StringSplit($recv, ';')
MsgBox($aMsg[2],$aMsg[3],$aMsg[4])
TCPShutdown()
TCPStartUp()
Else
; ...
EndIf
Wend
Probierst du mit einem oder mit 2 PC's? TCPConnect sollte die IP des anderen PC's haben und nicht die eigene.
Ich werd's mal testen.
Ich würde RunWait benützen, dann wird gewartet bis der Befehl fertig ist.
Außerdem würde ich das @ComSpec - Makro nehmen.
Ich hab's zuerst überlesen. Du kannst das Icon aus einer Ico-Datei oder aus einer Dll-Datei beziehen, aus einer Exe-Datei glaube ich nicht. Aber ich lasse mich gerne berichtigen.
EDIT: Es geht auch mit Icons aus Exe-Dateien! Siehe auch Link von oben ![]()
Sieh dir mal das Skript von limette an.
[ offen ] Treeview unter c:\
Bei mir ging es auch mit einem externen Programm.
[autoit]$Handle = ControlGetHandle($Titel,"","SysTreeView321")
_GUICTRLTreeView_Expand($Handle, 0, True) ;SysTreeView321
Vielleicht deswegen? Aus der Hilfe:
The "Secondary Logon service" or "RunAs service" must not be disabled if you want this function to work.
Oder hast du's schon mal mit nur einem Skript probiert?
[autoit]#include <Daten.au3>
[/autoit][autoit][/autoit][autoit]Local $title = "Title"
Local $admin = "User"
Local $pwd = "PW"
Local $Domain = "Domäne"
; Map X
DriveMapAdd("X:", "\\Host\Folder$\Folder\Folder", 0, $admin, $pwd)
; Adminrechte geben
RunAsSet("$admin", "$Domain", "$pwd",0)
; Programm ausführen
DirCreate("C:\Pfad\Pfad\Pfad\Pfad\Pfad")
; Kopieren der Dateien
FileCopy("X:\Pfad\test.txt", "C:\",1)
FileCopy("X:\Pfad\test.ini", "C:\Pfad\Pfad\Pfad\Pfad\Pfad",1)
; Adminrechte nehmen
RunAsSet()
; Del X
DriveMapDel("X:")
Zu a) Stimmt ![]()
Zu b) Weil sein Skript genau das macht - mit mehr oder weniger gutem Erfolg, mit 2 Bildschirmen, wie ich sie habe, funktioniert's nur teilweise.
Wieso selber schreiben, wenn 'Windows+L' die Station sperrt?
Wozu gibt es GOOGLE?
1. Suchergebnis: http://www.wintotal.de/Tipps/index.php?id=1026
Aus der Exit-Hilfe
;Second Example
; Terminate script if no command-line arguments
If $CmdLine[0] = 0 Then Exit(1)
;Third Example
; Open file specified as first command-line argument
$file = FileOpen($CmdLine[1], 0)
Ich habe mir jetzt das Hilfebeispiel durchgeschaut, der ErrorHandler ist ja nur ein COM ErrorHandler, das heißt es kann also nur COM Fehler auswerten. Bei dir im Skript fehlt demnach ein ObjectCreate. Eine fehlende Datei löst dabei diesen ErrorHandler nicht aus.
Aber wie gesagt, damit kenne ich mich auch nicht wirklich aus. ![]()
Ich kenne mich mit dem Errorhandler auch nicht aus, aber nimm doch einfach den Befehl FileExists her um zu prüfen ob die Datei da ist.
Weißt du überhaupt was du da machst???
Die Funktion ruft sich immer wieder selbst auf --> Endlosschleife, aber bitte! #includes nur einmal verwenden!!
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Start2 ()
[/autoit][autoit][/autoit][autoit]Func Start2 ()
[/autoit][autoit][/autoit][autoit][/autoit][autoit]#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("PassWord", 236, 74, 1039, 665)
$Input1 = GUICtrlCreateInput("Input1", 8, 8, 137, 21)
$Label1 = GUICtrlCreateLabel("PW Bitte", 8, 32, 142, 41)
GUICtrlSetFont(-1, 24, 800, 0, "Rosewood Std Regular")
GUICtrlSetColor(-1, 0x0000FF)
$Button1 = GUICtrlCreateButton("OK", 152, 0, 75, 65, 0)
GUICtrlSetFont(-1, 24, 800, 0, "Rosewood Std Regular")
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
While 1
$a = GUICtrlRead ($input1)
If $a = "Longju2-Board" Then
Sleep (100)
GuiSetState (@SW_HIDE)
Sleep (100)
ExitLoop
EndIf
Sleep (100)
If Not $a = "Longju2-Board" Then
ToolTip ("Du hast das Falsche PW eigegeben",400,400)
EndIf
WEnd
EndSwitch
ExitLoop
WEnd
Start ()
EndFunc
Func Start ()
MsgBox (0,"","lol",1)
Start2 ()
EndFunc
Redn wir hier von UrlEncodeden Strings oder von Wirrwarr?
EDIT: Da hast du recht, sicher ist sicher
Diese Funktion _HTTPEncodeString, funktioniert einwandfrei, aber ich durchblicke sie nicht ganz ![]()
Oder kürzer ![]()
$Temp = StringReplace($Encoded,"+"," ")
While 1
$pos = StringInStr($Temp,"%",1,1)
If $pos = 0 Or @error = 1 Then ExitLoop
$Decoded = StringReplace($Temp, StringMid($Temp,$pos,3),Chr(Dec(StringMid($Temp,$pos+1,2))))
$Temp = $Decoded
WEnd
MouseClick($Pos[0] + 20, $Pos[1])
[/autoit]URLEncode <> HTTPEncode