1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Sebastian

Beiträge von Sebastian

  • Prüfen ob eine Programm eine Datei geöffnet hat

    • Sebastian
    • 3. Februar 2012 um 08:45

    Ich bekomm ein -1 zurück wie in der Doku beschrieben. Voraussetzung die Datei kann nicht geöffnet werden.
    Failure: Returns -1 if error occurs. Is doch ein error.

  • Konkretes Problem/Projekt - komplexe Erzeugung von Einträgen in MySql-Datenbank

    • Sebastian
    • 2. Februar 2012 um 17:28

    Moin
    was kannst du denn besser?

    Gruß
    Sebastian

  • Prüfen ob eine Programm eine Datei geöffnet hat

    • Sebastian
    • 2. Februar 2012 um 09:10

    So hat sbei mir geklappt.
    Gruß
    Sebastian

    [autoit]


    $completeFile = FileOpen($sPath & $aFiles[1], 1)
    ConsoleWrite($completeFile & @CRLF)
    If $completeFile = 1 Then
    FileClose($completeFile)
    ...
    EndIf

    [/autoit]
  • Warten bis eine Datei vollständig kopiert wurde

    • Sebastian
    • 2. Februar 2012 um 09:09

    Moin That´s my way.
    Danke für die Hilfe
    Sebastian

    [autoit]


    $completeFile = FileOpen($sPath & $aFiles[1], 1)
    ConsoleWrite($completeFile & @CRLF)
    If $completeFile = 1 Then
    FileClose($completeFile)
    ...
    EndIf

    [/autoit]
  • Warten bis eine Datei vollständig kopiert wurde

    • Sebastian
    • 27. Januar 2012 um 15:31

    Sorry, war mal eben weg.
    Nun aber wieder zu meinem Problem.
    Ich denke FileOpen() is der richtige Ansatz. Ihr müsst euch immer vorstellen eure Mutter / Vater muss das ganze bedienen können.
    Der User speichert die Präsentation auf einer Verküpfung mehr kann ich dem nicht zumuten.
    Funktioniert eigendlich $status = FileMove($sPath & $aFiles[1], $sPath &"RUN\"& $aFiles[1]) ??

    Gruß
    Sebastian

  • Warten bis eine Datei vollständig kopiert wurde

    • Sebastian
    • 22. Dezember 2011 um 17:26

    War auch mein erster Ansatz, hat aber nicht funktioniert.
    Ich hab die Dateigröße in einer Schleife ausgelesen, 10 sec. gewartet und dann mit dem nächsten Wert verglichen.
    C:\Praesentationen\Praesentation.ppt
    45107200
    45107200
    Programm stoppenC:\Praesentationen\Praesentation.ppt
    45107200

    Es wird ab der ersten sekunde die volle Dateigröße zurückgegeben.

  • Warten bis eine Datei vollständig kopiert wurde

    • Sebastian
    • 22. Dezember 2011 um 17:18

    Ja moin,

    ich habe ein Script geschrieben das ein Verzeichnis überwacht. Wenn dort eine neue Präsentation reinkommt, wird die aktuelle Präsentation (die gerade läuft) gestoppt und die neue Präsentaion in das Verzeichnis RUN verschoben und gestartet.
    Nun mein Problem. Das kopieren der neuen Präsentation auf den Rechner dauert bei uns schon mal 5-10 Minuten.
    Wie bring ich AutoIt denn bei das er warten soll bis die Datei ganz kopiert wurde. Ich habs mit sleep versucht, ist aber die schlechteste Lösung.
    Momentan fängt er dann irgendwann an, kann die Datei nicht verschieben und hängt sich auf.

    Gruß
    Sebastian


    C
    #include <File.au3>
    #include <array.au3>
    
    
    HotKeySet("{Esc}", "_CloseIt")   	;mit ESC kann Skript verlassen werden
    
    
    Opt("GuiOnEventMode", 1)
    
    
    Global $aFiles, $sPath = "C:\Praesentationen\"
    ;Global $aApplication = "POWERPNT.EXE"
    Global $aApplication = "PPTVIEW.EXE"
    Global $rStart = "Ja"
    
    
    AdlibRegister("_searchFiles", 30000)   	;alle 60000 ms _searchFiles aufrufen eventuell anpassen
    
    
    While 1
    	Sleep(30000)
    	MouseMove(-1000, 1200)
    	MouseMove(-999, 1199)
    	sleep(1000)
    WEnd
    
    
    Func _searchFiles()
    	AdlibUnRegister("_searchFiles")                 	;_searchFiles deregistrieren
    	$aFiles = _FileListToArray($sPath, "*", 1)   	;alle File im Pfad in ein Array einlesen
    	If IsArray($aFiles) Then                             	;wenn Array
    
    
    		For $i = 1 To $aFiles[0]                     	;Schleifenbegin für alle Files im Array
    
    
            	ConsoleWrite($sPath & $aFiles[$i] & @CRLF);Consoleasgabe des Filenamens (kann auskommentiert werden)
            	$aFileSize = FileGetSize($sPath & $aFiles[$i])
    			;ConsoleWrite($aFileSize)
    			Sleep(10000)
    			$bFileSize = FileGetSize($sPath & $aFiles[$i])
    			Sleep(120000)
    			MouseMove(-1000, 1200)
    			MouseMove(-999, 1199)
    			Sleep(120000)
    			MouseMove(-1000, 1200)
    			MouseMove(-999, 1199)
    			Sleep(120000)
    			MouseMove(-1000, 1200)
    			MouseMove(-999, 1199)
    
    
    
    
    			If $aFileSize = $bFileSize Then
    				ConsoleWrite("Programm stoppen")
    				sleep(360000)
    				Run(@ComSpec & " /c " & 'c:\WINDOWS\system32\taskkill.exe /F /IM ' & $aApplication, "", @SW_HIDE)
    				FileDelete($sPath & "RUN\*.ppt")
    				;ConsoleWrite("Programm löschen" & $sPath & "RUN\")
    				FileMove($sPath & $aFiles[1], $sPath &"RUN\"& $aFiles[1])
    				sleep(10000)
    				;ConsoleWrite($sPath & $aFiles[1] &"--"& $sPath &"\RUN\"& $aFiles[1])
    				ShellExecute($sPath &"RUN\"& $aFiles[$i])
    				;ConsoleWrite("Programm starten")
    				sleep(6000)
    			EndIf
    			;FileDelete($sPath & "\" & $aFiles[$i]) ;<============= mit echter Aktion ersetzen
        	Next
    		;Sleep(1000)
    	ElseIf $rStart = "Ja" Then
    		$rFiles = _FileListToArray($sPath & "RUN\", "*", 1)
    		If IsArray($rFiles) Then
    		ShellExecute($sPath &"RUN\"& $rFiles[1])
    		$rStart = "Nein"
    		EndIf
    	EndIf
    	AdlibRegister("_searchFiles", 1000)            	;_searchFiles wieder registrieren
    EndFunc   ;==>_searchFiles
    
    
    Func _CloseIt()
    	Exit
    EndFunc
    Alles anzeigen

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™