Also bei meiner ftp.au3 wird die dll wininet automatisch geöffnet und geschlossen.
Kann sein, dass du noch eine ältere Version hast, wo man das "händisch" machen muss.
LG
Concara
Also bei meiner ftp.au3 wird die dll wininet automatisch geöffnet und geschlossen.
Kann sein, dass du noch eine ältere Version hast, wo man das "händisch" machen muss.
LG
Concara
Hi!
[autoit]$Ftpp = _FtpPutFile($Conn, 'C:\test.txt', '/ITA-007/Example.exe')
[/autoit]
Hier musst du nur ein Verzeichnis angeben, das auf deinem Server vorhanden ist.
Wie du die Datei benennst ist dir überlassen.
Also statt '/ITA-007/Example.exe' z.B.:
$Ftpp = _FtpPutFile($Conn, 'C:\test.txt', '/test.txt')
[/autoit]Dann schreib sie in eine text datei mit Name Datum und PID.
Ist doch nicht so schwierig.
#include<array.au3>
Dim $run[11]
For $i = 1 to 10
$run[$i] = Run("notepad.exe")
Next
Sleep(1000)
_ArrayDisplay($run)
For $i = 1 to 10
IniWrite(@ScriptDir & "\pocessid.ini", "shutdown" & $i, $i, $run[$i])
Next
ShellExecute(@ScriptDir & "\pocessid.ini")
For $i = 1 to 10
$run[$i]= IniRead(@ScriptDir & "\pocessid.ini", "shutdown" & $i, $i, "")
ProcessClose($run[$i])
Next
Ok!
Wenn du die shutdown_task.exe mit run startest bekommst du die Process Id zurück.
Die kannst du dann mit Processclose beenden.
HI!
Ehrlich gesagt verstehe ich nicht was du meinst!
Eventuell geht es auch anderen so!?
Sonst hättest du wahrscheinlich schon eine Antwort bekommen.
Wie willst du den die Task´s planen?
Du must doch dann ohnehin jedem Task einen Namen geben.
Diesen kann man dann zum Abruch verwenden.
LG
Concara
Hi Chip!
Brauchst du wirklich einen BlockInput ?
Reicht es nicht einfach die Schaltflächen deines ersten Scripts zu deaktivieren?
GUICtrlSetState($controlID, $GUI_DISABLE)
[/autoit]
Den Blockinput kannst du ja dann im aufgerufenen Script einbauen, so wie funkey es vorgeschlagen hat.
HI!
Hier meine Version.
LG
Concara
#include <GuiConstants.au3>
#include <Misc.au3>
opt("GUIOnEventMode", 1)
Dim $awall[12][12]
If FileExists(@ScriptDir & "\testbsp.ini") Then
For $ii = 0 To 11
For $i = 0 To 11
$awall[$i][$ii] = IniRead ( @ScriptDir & "\testbsp.ini", $i, $ii, 4)
$ballx = IniRead(@ScriptDir & "\testbsp.ini", "ball", 1, "")
$bally = IniRead(@ScriptDir & "\testbsp.ini", "ball", 2, "")
$zielx = IniRead(@ScriptDir & "\testbsp.ini", "ziel", 1, "")
$ziely = IniRead(@ScriptDir & "\testbsp.ini", "ziel", 2, "")
Next
Next
Else
$awall[1][11] = 1
$awall[1][10] = 1
$awall[1][9] = 1
$awall[1][8] = 1
$awall[1][7] = 1
$awall[1][6] = 1
$awall[2][5] = 1
$awall[3][4] = 1
$awall[4][3] = 1
$awall[5][2] = 1
$awall[2][6] = 1
$awall[3][5] = 1
$awall[4][4] = 1
$awall[5][3] = 1
$awall[5][2] = 1
$awall[5][1] = 1
$awall[7][2] = 1
$awall[7][3] = 1
$awall[7][4] = 1
$awall[7][5] = 1
$awall[7][6] = 1
$awall[7][1] = 1
$awall[11][11] = 1
$awall[11][10] = 1
$awall[11][9] = 1
$awall[11][8] = 1
$awall[11][7] = 1
$awall[11][6] = 1
$awall[11][5] = 1
$awall[10][11] = 1
$awall[10][10] = 1
$awall[10][9] = 1
$awall[10][8] = 1
$awall[10][7] = 1
$awall[10][6] = 1
$awall[9][6] = 1
$awall[8][11] = 1
$awall[8][10] = 1
$awall[8][9] = 1
$awall[8][8] = 1
$awall[7][11] = 1
$awall[7][10] = 1
$awall[7][9] = 1
$awall[7][8] = 1
$awall[6][11] = 1
$awall[6][10] = 1
$awall[6][9] = 1
$awall[6][8] = 1
$awall[5][11] = 1
$awall[5][10] = 1
$awall[5][9] = 1
$awall[5][8] = 1
$ballx = 0
$bally = 0
$zielx = 9
$ziely = 11
$awall[9][11] = 3
For $i = 0 To 11
For $ii = 0 To 11
$data = $awall[$i][$ii]
IniWrite(@ScriptDir & "\testbsp.ini", $i, $ii, $data)
Next
Next
IniWrite(@ScriptDir & "\testbsp.ini", "ball", 1, $ballx)
IniWrite(@ScriptDir & "\testbsp.ini", "ball", 2, $bally)
IniWrite(@ScriptDir & "\testbsp.ini", "ziel", 1, $zielx)
IniWrite(@ScriptDir & "\testbsp.ini", "ziel", 2, $ziely)
EndIf
GUICreate("Beispiel", 384, 384)
$ziel = GUICtrlCreateIcon("ziel.ico", -1, $zielx*32, $ziely*32)
$ball = GUICtrlCreateIcon("ball17.ico", -1, $ballx*32, $bally*32)
For $i = 0 To 11
For $ii = 0 To 11
If $awall[$i][$ii] = 1 Then
GUICtrlCreateIcon("wall.ico", -1 ,$i*32, $ii*32)
EndIf
Next
Next
GUISetBkColor(000000)
GUISetState()
GUISetOnEvent($GUI_EVENT_CLOSE, "Ende")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]If _IsPressed(28) Then
_pfeiltaste_unten()
EndIf
If _IsPressed(26) Then
_pfeiltaste_oben()
EndIf
If _IsPressed(25) Then
_pfeiltaste_links()
EndIf
If _IsPressed(27) Then
_pfeiltaste_rechts()
EndIf
Sleep(10)
WEnd
Func Ende()
Exit
EndFunc
Func _crash($x, $y, $zx1, $zy1, $zx2, $zy2)
Local $x1 = Int(($x+$zx1)/32)
Local $y1 = Int(($y+$zy1)/32)
Local $x2 = Int(($x+$zx2)/32)
Local $y2 = Int(($y+$zy2)/32)
;~ ConsoleWrite ($x1 & " " & $y1 & " " & $x2 & " " & $y2 & @CRLF)
If $awall[Round($x/32)][Round($y/32)] = 3 Then
MsgBox(0,"Ziel", "Du bist am Ziel angekommen", 10)
EndIf
If $awall[$x1][$y1] = 1 Or $awall[$x2][$y2] = 1 Then
Return 1
EndIf
Return 0
EndFunc
func _pfeiltaste_unten()
$pos = ControlGetPos("Beispiel", "", $ball)
If $pos[1] <> 352 Then
$crash = _crash($pos[0], $pos[1] + 1, 0, 31, 31, 31)
If Not $crash Then
GUICtrlSetPos($ball, $pos[0], $pos[1] + 2)
EndIf
EndIf
EndFunc
Func _pfeiltaste_oben()
$pos = ControlGetPos("Beispiel", "", $ball)
If $pos[1] <> 0 Then
$crash = _crash($pos[0], $pos[1] - 1, 0, 0, 31, 0)
If Not $crash Then
GUICtrlSetPos($ball, $pos[0], $pos[1] - 2)
EndIf
EndIf
EndFunc
Func _pfeiltaste_links()
$pos = ControlGetPos("Beispiel", "", $ball)
If $pos[0] <> 0 Then
$crash = _crash($pos[0] - 1, $pos[1], 0, 0, 0, 31)
If Not $crash Then
GUICtrlSetPos($ball, $pos[0] - 2, $pos[1])
EndIf
EndIf
EndFunc
Func _pfeiltaste_rechts()
$pos = ControlGetPos("Beispiel", "", $ball)
If $pos[0] <> 352 Then
$crash = _crash($pos[0] + 1, $pos[1], 31, 0, 31, 31)
If Not $crash Then
GUICtrlSetPos($ball, $pos[0] + 2, $pos[1])
EndIf
EndIf
EndFunc
Hi!
Probier es mal mit
GUICtrlSetState($Editfeld, $GUI_DISABLE)
LG
Concara
HI!
Nicht ganz sauber (flackert) aber man sieht den Text.
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Form2", 413, 56, 303, 219)
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
$Progress1 = GUICtrlCreateProgress(3, 3, 406, 49, $PBS_SMOOTH)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetBkColor(-1, 0x00FF00)
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 7)
$progress_in = GUICtrlCreateLabel("",200, 23, 84, 17)
GUICtrlSetBkColor($progress_in, $GUI_BKCOLOR_TRANSPARENT)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$Status = "Plus"
While 1
$ProgressRead = GUICtrlRead($Progress1)
If $Status = "Plus" Then
GUICtrlSetData($Progress1, $ProgressRead + 1)
GUICtrlSetData($progress_in, $ProgressRead) ;Text wird wieder neu gesetzt
If $ProgressRead = 100 Then $Status = "Minus"
ElseIf $Status = "Minus" Then
GUICtrlSetData($Progress1, $ProgressRead - 1)
GUICtrlSetData($progress_in, $ProgressRead) ;Text wird wieder neu gesetzt
If $ProgressRead = 0 Then $Status = "Plus"
EndIf
Sleep (25)
$nMSG = GUIGetMsg()
Switch $nMSG
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Schon wieder zu langsam
HI!
Einfach $x1 = ""
Ganz verstehen du ich aber nicht was du damit beabsichtigst!?
While True
[/autoit][autoit][/autoit][autoit]Global $x1
[/autoit][autoit][/autoit][autoit]$test
[/autoit][autoit][/autoit][autoit]If not $x1 Then
$x1 = 5
If $x1 = 5 Then
MsgBox(1,"abc","abc")
EndIf
$x1 = ""
EndIf
WEnd
Hi!
Ich hab hier nur einen Ansatz. Ist nicht wirklich sauber gelöst. Kommt auf den Zufall an ob die Variable $i gerade die Buttonnummer hat wenn man darauf klickt.
#include <GuiConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
_MsgBoxEx("Test","Hallo",2,"OK|OK2|ok")
Func _MsgBoxEx($Title,$Text,$Buttons = 1,$Buttons_Names = "OK",$Color = 0xCCCCCC)
If Not IsNumber($Buttons) Then
SetError(@error,2)
Return 0
EndIf
$GUI_MSGBOX=GUICreate($Title,($Buttons*100)+100,100)
GUISetState()
GUISetBkColor($Color)
$Buttons_Splitted=StringSplit($Buttons_Names,"|")
$PosButts=0
Dim $Buttons_Create[$Buttons_Splitted[0]+1]
For $i=1 to Ubound($Buttons_Splitted,1)-1
$Buttons_Create[$i]=GUICtrlCreateButton($Buttons_Splitted[$i],$PosButts,100-25,100)
$PosButts=$PosButts+100
Next
$Edit=GUICtrlCreateEdit($Text,0,0,($Buttons*100)+98,70,$ES_READONLY+$WS_VSCROLL)
Dim $i = 1
While 1
$msg=GUIGetMsg()
Select
Case $msg=$GUI_EVENT_CLOSE
SetError(@error,1)
Return 0
Case $msg=$Buttons_Create[$i]
GUIDelete($GUI_MSGBOX)
Return 1
case Else
If $i >= Ubound($Buttons_Create,1)-1 Then
$i = 0
EndIf
$i += 1
Sleep(100)
ConsoleWrite($i)
EndSelect
WEnd
EndFunc
Hier eine Doppelklickvariante.
#include <GuiConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
_MsgBoxEx("Test","Hallo",5,"OK|OK2|ok|asdf|yxcv|dsfsdf")
Func _MsgBoxEx($Title,$Text,$Buttons = 1,$Buttons_Names = "OK",$Color = 0xCCCCCC)
If Not IsNumber($Buttons) Then
SetError(@error,2)
Return 0
EndIf
$GUI_MSGBOX=GUICreate($Title,($Buttons*100)+100,100)
GUISetState()
GUISetBkColor($Color)
$Buttons_Splitted=StringSplit($Buttons_Names,"|")
$PosButts=0
Dim $Buttons_Create[$Buttons_Splitted[0]+1]
For $i=1 to Ubound($Buttons_Splitted,1)-1
$Buttons_Create[$i]=GUICtrlCreateButton($Buttons_Splitted[$i],$PosButts,100-25,100)
$PosButts=$PosButts+100
Next
$Edit=GUICtrlCreateEdit($Text,0,0,($Buttons*100)+98,70,$ES_READONLY+$WS_VSCROLL)
Dim $i = 1
While 1
$msg=GUIGetMsg()
Select
Case $msg=$GUI_EVENT_CLOSE
SetError(@error,1)
Return 0
Case $msg=$Buttons_Create[$i]
GUIDelete($GUI_MSGBOX)
Return 1
Case Else
If $msg > 1 Then
$i = $msg -2
EndIf
EndSelect
WEnd
EndFunc
Hi!
Hier mein Beispiel für deine UDF.
[autoit]
$htmlstart = _HTML_Start(@SCriptDir & "\index.htm")
If @error Then Exit
$rTitle = _HTML_Title($htmlstart)
If @error Then Exit
MsgBox(0,$rTitle[0],"Der Titel wird durch HTML bestimmt")
;ab hier beginnt die "UDF" ----------------------------------------------
#include<string.au3>
Func _HTML_Start($filedir)
Local $hFile = FileOpen($filedir, 0)
If $hFile = -1 Then
FileClose($hFile)
Return SetError(1,0,0)
EndIf
Return FileRead($hFile)
FileClose($hFile)
EndFunc
Func _HTML_Title($sFile)
Local $stringbetween = _StringBetween($sFile, '<title>', '</title>')
If @error Then Return SetError(1,0,0)
Return $stringbetween
EndFunc
Hi!
Bei deinem ersten Script wird immer no drin stehen weil das als letztes aufgerufen wird.
Egal was du für einen Button drückst es müsste nach dem ausführen des Scripts immer no drinstehen.
Wenn das der Fall ist weißt du das der Benutzer der das Script ausgeführt hat diesen Registrywert ändern kann.
Wenn du in deinem Ursprungsscript die Variablen tauschst dann wird immer yes drin stehen.
[autoit][/autoit][autoit][/autoit][autoit]Local $ScriptOff= RegWrite("HKEY_CURRENT_USER\Control Panel\Sound","Beep","REG_SZ","no")
Local $ScriptOn = RegWrite("HKEY_CURRENT_USER\Control Panel\Sound","Beep","REG_SZ","yes")
Hi!
Ich glaube das das Runas auch nicht funktionieren kann.
Diese Funktion ist dazu da externe Programme mit einer anderen Benutzerkennung zu starten.
Aber du kannst mich ja eines Besseren belehren.
Wenn dann müsstest du es wie im Spoiler1 machen.
Wird aber auch nicht gehen da du Current_user ändern willst und das geht mit einem anderen Benutzer schlecht also sollte Spoiler2 gehen.
Local $UserName = "sa_testuser"
Local $Password = "password"
Local $ScriptOn = @ScriptDir & "\on.exe"
Local $ScriptOff = @ScriptDir & "\off.exe"
Local $workingdir = "\\myserver\Public"
$beepcheck = RegRead("HKEY_CURRENT_USER\Control Panel\Sound\", "Beep")
[/autoit] [autoit][/autoit] [autoit]GUICreate("PC-Lautsprecher umschalten", 350, 100)
GuiCtrlCreatePic("Speaker.Gif",0,0, 32,33)
GUICtrlCreateLabel("Was möchten Sie mit dem internen PC-Lautsprecher tun ?", 10, 35)
$aktivieren = GUICtrlCreateButton("Einschalten", 10, 60, 80)
$deaktivieren = GUICtrlCreateButton("Ausschalten", 110, 60, 80)
GUISetState(@SW_SHOW)
While 2
$msg = GUIGetMsg()
Select
Case $msg = $aktivieren
RunAsWait($UserName, "mydomain",$Password, 0, $ScriptOn, $workingdir, @SW_HIDE )
If RegRead("HKEY_CURRENT_USER\Control Panel\Sound\", "Beep") = "yes" Then
MsgBox(0,"Lautsprecheraktivierung erfolgreich","Der interne Lautsprecher wurde nun eingeschaltet.")
Else
MsgBox(0,"Fehler ! Der Lautsprecher ist immer noch aus.","Das Einschalten des Lautsprechers war nicht erfolgreich. Bitte wenden Sie sich an den Support.")
EndIf
ExitLoop
Case $msg = $deaktivieren
RunAsWait($UserName, "mydomain",$Password, 0, $ScriptOff, $workingdir, @SW_HIDE )
If RegRead("HKEY_CURRENT_USER\Control Panel\Sound\", "Beep") = "no" Then
MsgBox(0,"Lautsprecherdeaktivierung erfolgreich","Der interne Lautsprecher wurde nun abgeschaltet.")
Else
MsgBox(0,"Fehler ! Der Lautsprecher ist immer noch an.","Das Abschalten des Lautsprechers war nicht erfolgreich. Bitte wenden Sie sich an den Support.")
EndIf
ExitLoop
EndSelect
WEnd
Exit
[/autoit] [autoit][/autoit] [autoit][/autoit]
;on.au3 =>on.exe
RegWrite("HKEY_CURRENT_USER\Control Panel\Sound","Beep","REG_SZ","yes")
; off.au3 => off.exe
RegWrite("HKEY_CURRENT_USER\Control Panel\Sound","Beep","REG_SZ","no")
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]GUICreate("PC-Lautsprecher umschalten", 350, 100)
GuiCtrlCreatePic("Speaker.Gif",0,0, 32,33)
GUICtrlCreateLabel("Was möchten Sie mit dem internen PC-Lautsprecher tun ?", 10, 35)
$aktivieren = GUICtrlCreateButton("Einschalten", 10, 60, 80)
$deaktivieren = GUICtrlCreateButton("Ausschalten", 110, 60, 80)
GUISetState(@SW_SHOW)
While 2
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $aktivieren
RegWrite("HKEY_CURRENT_USER\Control Panel\Sound","Beep","REG_SZ","yes")
If Not @error Then
MsgBox(0,"Lautsprecheraktivierung erfolgreich","Der interne Lautsprecher wurde nun eingeschaltet.")
Else
MsgBox(0,"Fehler ! Der Lautsprecher ist immer noch aus.","Das Einschalten des Lautsprechers war nicht erfolgreich. Bitte wenden Sie sich an den Support.")
EndIf
;~ ExitLoop
Case $msg = $deaktivieren
RegWrite("HKEY_CURRENT_USER\Control Panel\Sound","Beep","REG_SZ","no")
If Not @error Then
MsgBox(0,"Lautsprecherdeaktivierung erfolgreich","Der interne Lautsprecher wurde nun abgeschaltet.")
Else
MsgBox(0,"Fehler ! Der Lautsprecher ist immer noch an.","Das Abschalten des Lautsprechers war nicht erfolgreich. Bitte wenden Sie sich an den Support.")
EndIf
;~ ExitLoop
EndSelect
WEnd
HI!
Ich habe deinen Code ausprobiert und er funktioniert einwandfrei.
Was mir noch eingefallen ist. Ist es eventuell ein 64Bit System!?
Wenn ja dann beachte diesen Satz aus der Hilfe.
When running on 64-bit Windows if you want to write a key or value specific to the 64-bit environment you have to suffix the HK... with 64 i.e. HKLM64.
Ist vielleicht eine dumme Frage aber hast du das Script auch compiliert das es eine EXE ist?
Lg
Concara
HI!
Ich denke er meinte den in der Autoit Hilfe.
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <FontConstants.au3>
Global $tRECT, $hFont, $hOldFont, $hDC
[/autoit] [autoit][/autoit] [autoit]HotKeySet("{ESC}", "_Exit")
[/autoit] [autoit][/autoit] [autoit]$tRECT = DllStructCreate($tagRect)
DllStructSetData($tRECT, "Left", 5)
DllStructSetData($tRECT, "Top", 5)
DllStructSetData($tRECT, "Right", 250)
DllStructSetData($tRECT, "Bottom", 50)
$hDC = _WinAPI_GetDC(0)
$hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
$OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$hOldFont = _WinAPI_SelectObject($hDC, $hFont)
_WinAPI_SetTextColor($hDC, 0x0000FF)
_WinAPI_SetBkColor($hDC, 0x000000)
; comment next line to get black background instead of transparent one
_WinAPI_SetBkMode($hDC, $TRANSPARENT)
While 1
_WinAPI_DrawText($hDC, "Hello world!", $tRECT, $DT_CENTER)
Sleep(100)
WEnd
Func _Exit()
_WinAPI_SelectObject($hDC, $hOldFont)
_WinAPI_DeleteObject($hFont)
_WinAPI_ReleaseDC(0, $hDC)
_WinAPI_InvalidateRect(0, 0)
$tRECT = 0
Exit
EndFunc ;==>_Exit
Hi!
Schau dir halt die Hilfe dazu an!!!
ControlClick ( "title", "text", controlID [, button [, clicks [, x [, y ]]]] )
ControlClick( "Speichern unter", "&Speichern", "Button2", "", 1) ; Auf den Butten ein Linksklick einmal
Hi!
Hier die FTP.au3
autoit.de/wcf/attachment/4444/
Bei mir hat werden die Dateinamen richtig angezeigt.
Kannst du deinen Code hier reinstellen!?
LG
Concara
Hi
Ich kenn keine _FTPListFiles nur eine _FTPFilesListToArray
;===============================================================================
;
; Function Name: _FtpFileListtoArray()
; Description: Get Filenames, Directorys, or Both of a Directory.
; Parameter(s): $l_FTPSession - Long From _FileConnect
; $Return_type - 0 = Both Files and Directorys, 1 = Directorys, 2 = Files
; Requirement(s): DllCall, wininet.dll
; Return Value(s): On Success - 1
; On Failure - 0
; Author(s): Beast, Prog@ndy
;
;===============================================================================
Eine Funktion die ich geschrieben habe um den Inhalt eines FTP Servers herunter zu laden.
Beinhaltet _FtpFileListtoArray()
#include <ftp.au3>
[/autoit] [autoit][/autoit] [autoit]$server = "ftpserver"
$username = "Mustermann"
$pass = "maxl"
$Open = _FTPOpen("MyFTP_Control")
$Conn = _FTPConnect($Open, $server, $username, $pass)
_FTPGetFolderContents($Conn, "/" , "c:\Temp\ftp", "1") ; FTP Serververbindung angeben, FtpOrdner, Verzeichnis in das der Inhalt des FTP Servers gespeichert werden soll, ob auch Unterordner heruntergeladen werden sollen
Func _FTPGetFolderContents($l_InternetSession, $s_RemoteFolder , $s_LocalFolder, $b_RecursivePut)
Local $i
Local $count = 1
_FtpSetCurrentDir($l_InternetSession, $s_RemoteFolder)
If @error Then Return SetError(1,0,0)
; Shows the filenames of all files in the current directory.
Local $ftpfileslist = _FTPFilesListToArray($l_InternetSession,2)
; Check if the search was successful
If Not IsArray($ftpfileslist) Then
Return SetError(1,0,0)
EndIf
If $ftpfileslist[0] Then
While $ftpfileslist[0] >= $count
_FTPGetFile($l_InternetSession, $ftpfileslist[$count], $s_LocalFolder & "\" & $ftpfileslist[$count])
$count += 1
WEnd
EndIf
If $b_RecursivePut Then
; Shows the foldernames of all folders in the current directory.
Local $ftpdirlist = _FTPFilesListToArray($l_InternetSession,1)
If Not IsArray($ftpdirlist) Then
Return SetError(1,0,0)
EndIf
If $ftpdirlist[0] Then
For $i = 1 To $ftpdirlist[0]
If $ftpdirlist[$i] = "." Or $ftpdirlist[$i] = ".." Then
Else
DirCreate($s_LocalFolder & "\" & $ftpdirlist[$i])
_FTPGetFolderContents($l_InternetSession, $s_RemoteFolder & "/" & $ftpdirlist[$i], $s_LocalFolder & "\" & $ftpdirlist[$i], $b_RecursivePut)
EndIf
Next
EndIf
EndIf
Return 1
EndFunc ;==>_FTPGetFolderContents
Hi hast du dir die UDF´s von Bugfix angesehen!?
http://www.autoit.de/index.php?page=Thread&threadid=2492