Hallo, ok ich weiß das multitasking, bzw multithriting nicht ganz einfach ist, deswegen hoffe ich, ihr könnt mir Helfen eine andere Lösung zu finden, bzw habt Ideen für mein Problem.
ich möchte eine schleife laufen lassen, die in besimmten abständen eine von mir per Hand Aktualisierte Datei an meinen Server schickt.
gleichzeitig möche ich aber eine überwachung meines USB-Ports, da soll er meine arbeits-fortschrits-Dateien Automatisch darauf speichern wenn dieser eingesteckt wird.
Beide anwendungen funktionieren ,unabhänging von einander(d.h. in 2 Skripten) einwandfrei
nun mein problem, ich möchte sie in einem Skript, bzw später .exe vereinen
Wie bekomm ich beide anwendungen zusammen ohne das eine von beiden Pausiert?
habe viele Theorien gehört mit Adliebregister, UDF's und TimerInit, aber nichts hat mich zu meinem Erfolg gebracht.
;upload der Datei auf den Server
#RequireAdmin
#include <FTPEx.au3>
#include <Array.au3>
#include <misc.au3>
While 1
Sleep (3600000);jede stunde die Datei zum Server schicken
Global $sPassword = "********"
Global $sUser = "***************"
Global $sServer = "***************"
Global $spath = "@Desktopdir & "arbeitsprojekt.doc"
Global $sOrdner = "/www"
Global $sFilename = "arbeitsprojekt.doc"
$hProgress = GUICtrlCreateProgress(8, 32, 297, 25)
$hLabel = GUICtrlCreateLabel("", 91, 70, 200, 25)
$hOpen = _FTP_Open("Autoit")
$hConnect = _FTP_Connect($hOpen, $sServer, $sUser, $sPassword, 1)
_FTP_ProgressUpload($hConnect, $sPath, $sOrdner&$sFilename, "_Update_Progress")
[/autoit][autoit][/autoit][autoit][/autoit][autoit]_FTP_Close($hOpen)
_FTP_Close($hConnect)
Sleep(1000)
WEnd
Func _Update_Progress($iProzent)
GUICtrlSetData($hProgress, $iProzent)
GUICtrlSetData($hLabel, "Hochladen bei " & $iProzent & "% (Abbruch mit F8)")
If _IsPressed("77") Then Return 0
Return 1
EndFunc
;=========================================================
;======================Das 2te Skript=====================
;=========================================================
;Usbüberwachung und datei schreiben wärend der oberen Schleife
#RequireAdmin
Global $strComputer = "."
Global $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
$colEvents = $objWMIService.ExecNotificationQuery _
("Select * From __InstanceOperationEvent Within 5 Where " _
& "TargetInstance isa 'Win32_LogicalDisk'")
While 1
$objEvent = $colEvents.NextEvent
If $objEvent.TargetInstance.DriveType = 2 Then
Select
Case $objEvent.Path_.Class()="__InstanceCreationEvent"
filecopy(@Desktop & "arbeitshilfe.jpg", $objEvent.TargetInstance.DeviceId,1)
Case $objEvent.Path_.Class()="__InstanceDeletionEvent"
msgbox(0,"abgeschlossen","USB-Stick wurde entfernt")
ExitLoop
EndSelect
EndIf
WEnd