dass die Scripts manchmal schneller laufen als sie progammiert wurden.
CPU-Last unterschiedlich z.B.
[Scherz]
Meine Skripte laufen alle schneller, als ich gebraucht habe, sie zu programmieren. ![]()
[/Scherz]
dass die Scripts manchmal schneller laufen als sie progammiert wurden.
CPU-Last unterschiedlich z.B.
[Scherz]
Meine Skripte laufen alle schneller, als ich gebraucht habe, sie zu programmieren. ![]()
[/Scherz]
Also dass die Wiedergabe sich aufgehängt hat, lag vermutlich daran, dass die Übertragung von ARD kam. Die schaffen es leider immer noch nicht, einen dauerhaft funktionierenden Stream zu produzieren.
Schon komisch, denn der Stream vom ZDF ist absolute Klasse und kommt mit 1064 Kbit/s. Der beste ZDF-Stream ist: http://wgeostreaming.zdf.de/encoder/livestream15_vh.asx. Der ist nicht nur während der Spiele geschaltet.
Mit dem was da in der Funkrtionreferenz steht, kommt man ja nicht so weit.
Dabei hilft die Hilfe ![]()
Wenn ein Befehl ein Include erfordert, so ist in der Hilfe das zugehörige Include aufgeführt.
Bsp.:
Zitat#Include <Array.au3>
_ArrayDisplay(Const ByRef $avArray[, $sTitle = "Array: ListView Display"[, $iItemLimit = -1[, $iTranspose = 0[, $sSeparator = ""[, $sReplace = "|"]]]]])
Xenobiologist hat ein Tool OrganizeIncludes erstellt, dass die Auswahl notwendiger Includes vornimmt.
Die Includ-Dateien findest du in deiner AutoIt-Installation, i.A. unter "C:\Programme\AutoIt3\Include"
Func _ButtonClick()
_BlaFunktion1()
_BlaFunktion2()
_BlaFunktion3()
EndFunc
Ok, aber was ist dann System.Collections.ArrayList ?
Irgendwoher muss das doch kommen und es sollte eine Doku dazu geben ?
Das ist ein NET-Framework Objekt. Doku findest du bei MSDN
Wie schon gesagt, man kann mit AutoIt Referenzen auf verschiedene Objekte erzeugen. z.B. Word-Objekt, Excel-Objekt, Outlook-Objekt...
Wenn dies von allgemeinem Interesse ist, werden z.T. die daraus resultierenden UDF in die AutoIt-Version übernommen (s. Word-Management).
Hi,
ich hab mal einige Korrekturen gemacht. Markiert mit "####################".
Du verwendest noch nicht Version 3.2.12.0 - steig mal um ![]()
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=PDFMAILER-Install.exe
#AutoIt3Wrapper_Compression=4
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;
; AutoIt Version: 3.2.10
; Platform: WinXP
; Author: Iwu74
;
; Script Function:
; Open Project Installation
;
AutoItSetOption("TrayIconHide", 1) ; versteckt das Icon in der Trayleiste, somit keine Funktionionen über Trayicon (beenden etc.)
[/autoit] [autoit][/autoit] [autoit]#region - Global
Global $Paused
Global $str
Global $oFSO = ObjCreate('Scripting.FileSystemObject') ; ######################
Global $Path = 'D:\Profile\Dokumente und Einstellungen' ; ######################
Global $strPath = '' ; ######################
$ProjectName = "PDFMAILER V4" ; Name des Programms. Wird an alle Fenster weiter gegeben.
$Version = "0.7"
$Erstellt = "Juni 2008"
$Erteller = "wu2"
$Abteilung = "IL"
#endregion - Global
;===============================================================
;===============================================================
#region - Dateien ins Skript einbinden
;~ FileInstall("H:\Auto-IT\Scripte\UpdatePack\Logo_klein.gif", "C:\Temp\Install\UpdatePacks\Logo_klein.jpg", 1)
#endregion - Dateien ins Skript einbinden
;===============================================================
;===============================================================
#region - HotKeys
HotKeySet("{PAUSE}", "TogglePause") ;Skript wird unterbrochen und zeigt ToolTip an
HotKeySet("{ESC}", "_Exit") ;zeigt Abbrechen Fenster an
HotKeySet("{F1}", "Info") ; zeigt Hilfe Fenster an
HotKeySet("^!x", "_AdminExit") ; beendet Skript, wenn Strg+Alt+X gedrückt wird
#endregion - HotKeys
;===============================================================
;===============================================================
#include <GuiConstants.au3> ; Wichtig zum erzeugen von einer GUI (OHNE keine GUI)
#Include <GuiStatusBar.au3> ; Wichtig zum erzeugen von Statusbar (OHNE kein STATUSBAR)
Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
Opt("RunErrorsFatal", 0) ;1=fatal, 0=silent set @error ########################## GIBT ES NICHT MEHR in 3.2.12.0 #############
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") ; Legt fest, was passiert, wenn man das Fenster schließt
[/autoit] [autoit][/autoit] [autoit]#region - Seite1
; Erzeugen der Ersten Seite
$Seite01 = GUICreate($ProjectName, 641, 481, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST)
$Ueberschrift = GUICtrlCreateLabel($ProjectName & " Installation", 30, 30, 400, 36)
GUICtrlSetFont(-1, 20, 800, 0, "Arial")
$Logo = GUICtrlCreatePic("C:\Temp\Install\PDFMailer-V4\Logo_klein.gif", 430, 15, 200, 41, BitOR($SS_NOTIFY,$WS_GROUP))
$GraphicS1_1 = GUICtrlCreateGraphic(20, 100, 600, 280)
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetColor(-1, 0x000000)
$S1_Zeile01 = GUICtrlCreateLabel("Es wird jetzt der PDFMailer V4 installiert.", 30, 110, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S1_Zeile03 = GUICtrlCreateLabel("Die Installtion wird ca. 5 Minuten dauern.", 30, 170, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S1_Zeile04 = GUICtrlCreateLabel("Eventuell vorab installierte Versionen werden gelöscht.", 30, 200, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S1_Zeile06 = GUICtrlCreateLabel("Am Ende wird ein maxx PDFMailer Drucker in der Druckerliste erscheinen.", 30, 260, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S1_Zeile08 = GUICtrlCreateLabel("Sie können mittels des Abbrechen-Knopfes die Installation bis zum nächsten", 30, 320, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S1_Zeile09 = GUICtrlCreateLabel("Neustart verhindern.", 30, 350, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$StartButton01 = GUICtrlCreateButton("START", 50, 400, 100, 50, 0)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x008080)
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetOnEvent($StartButton01, "Seite01_OK")
$AbbrechenButton01 = GUICtrlCreateButton("Abbrechen", 260, 400, 100, 50, 0)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetOnEvent($AbbrechenButton01, "_Exit")
$HilfeButton01 = GUICtrlCreateButton("Hilfe", 470, 400, 100, 50, 0)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetOnEvent($HilfeButton01, "Hilfe")
#endregion - Seite1
#region - Seite2
; Erzeugen der zweiten Seite
$Seite02 = GUICreate($ProjectName , 641, 481, -1, -1, $WS_CAPTION, $WS_EX_APPWINDOW)
$Ueberschrift = GUICtrlCreateLabel($ProjectName & " Installation", 30, 30, 396, 36)
GUICtrlSetFont(-1, 20, 800, 0, "Arial")
$Logo = GUICtrlCreatePic("C:\Temp\Install\PDFMailer-V4\Logo_klein.gif", 430, 15, 200, 41, BitOR($SS_NOTIFY, $WS_GROUP))
$GraphicS2_1 = GUICtrlCreateGraphic(168, 100, 308, 270)
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetColor(-1, 0x000000)
$GraphicS2_2 = GUICtrlCreateGraphic(168, 380, 308, 60)
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetColor(-1, 0x000000)
$Versionkontrolle = GUICtrlCreateLabel("Versionskontrolle", 180, 110, 149, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$ALTloeschen = GUICtrlCreateLabel("Alte Version löschen", 180, 140, 150 , 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$Install = GUICtrlCreateLabel("Programminstallation", 180, 170, 170, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$Feld_Fertig = GUICtrlCreateLabel(" ", 185, 400, 270, 22)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$Versionkontrolle_Fertig = GUICtrlCreateLabel(" ", 410, 110, 37, 20) ; siehe unten in der funktion
GUICtrlSetFont(-1, 10, 400, 2, "Arial")
GUICtrlSetColor(-1, 0x008080)
GUICtrlSetBkColor(-1, 0xC0C0C0)
$ALTloeschen_Fertig = GUICtrlCreateLabel(" ", 410, 140, 37, 20)
GUICtrlSetFont(-1, 10, 400, 2, "Arial")
GUICtrlSetColor(-1, 0x008080)
GUICtrlSetBkColor(-1, 0xC0C0C0)
$Install_Fertig = GUICtrlCreateLabel(" ", 410, 170, 37, 20)
GUICtrlSetFont(-1, 10, 400, 2, "Arial")
GUICtrlSetColor(-1, 0x008080)
GUICtrlSetBkColor(-1, 0xC0C0C0)
#endregion - Seite 2
#region Statusbar Seite 2
; Erzeugen eines Statusbar mit 5 Feldern, davon 2 Progressbars
Local $StatusBar1, $ProgressBar1, $ProgressBar2, $Progress1 = 0, $Progress2 = 0
Local $a_Parts[5] = [169, 309, 335 , 475, -1] ; ProgressFelder und StartBreite = 140
$StatusBar1 = _GUICtrlStatusBar_Create ($Seite02); Erzeugt eine Statusbar bei der $Seite02
_GUICtrlStatusBar_SetMinHeight ($StatusBar1, 20); Setzt die Höhe der Statusbar
_GUICtrlStatusBar_SetParts ($StatusBar1, $a_Parts) ; Setzt fest, aus wie vielen Teilen die Statusbar bestehen soll
$progressBar1 = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH) ; Erzeugt einen Prozessbalken
$progressBar2 = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH) ; Erzeugt einen Prozessbalken
$hProgress1 = GUICtrlGetHandle($progressBar1) ; Erlaubt das "Händling" des Prozessbalkens
_GUICtrlStatusBar_EmbedControl ($StatusBar1, 1, $hProgress1) ; legt fest, in welcher Spalte der erste Prozessbalken laufen soll
$hProgress2 = GUICtrlGetHandle($progressBar2) ; Erlaubt das "Händling" des Prozessbalkens
_GUICtrlStatusBar_EmbedControl ($StatusBar1, 3, $hProgress2) ; legt fest, in welcher Spalte der zweite Prozessbalken laufen soll
GUICtrlSetColor($ProgressBar1,32250); setzt die Farbe für den ersten "Laufbalken"
#endregion Statusbar Seite 2
#region -Seite 3
; Erzeugen der dritten Seite
$Seite03 = GUICreate($ProjectName , 641, 481, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST) ;, $WS_EX_APPWINDOW
$Ueberschrift = GUICtrlCreateLabel($ProjectName & " Installation", 30, 30, 396, 36)
GUICtrlSetFont(-1, 20, 800, 0, "Arial")
$Logo = GUICtrlCreatePic("C:\Temp\Install\PDFMailer-V4\Logo_klein.gif", 430, 15, 200, 41, BitOR($SS_NOTIFY, $WS_GROUP))
$GraphicS3_1 = GUICtrlCreateGraphic(20, 100, 600, 290)
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetColor(-1, 0x000000)
$S3_Zeile01 = GUICtrlCreateLabel("Die Software wurde erfolgreich installiert.", 30, 110, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S3_Zeile02 = GUICtrlCreateLabel("Viel Spaß beim Benutzen des Programms.", 30, 170, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S3_Zeile03 = GUICtrlCreateLabel("Info:", 30, 230, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S3_Zeile04 = GUICtrlCreateLabel("Sie können jetzt ISO Zertifizierte PDF/A Dateien erzeugen.", 30, 260, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S3_Zeile05 = GUICtrlCreateLabel("_______________", 30, 300, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S3_Zeile06 = GUICtrlCreateLabel("Informationslogistik", 30, 320, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S3_Zeile07 = GUICtrlCreateLabel("Team System", 30, 340, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$S3_Zeile08 = GUICtrlCreateLabel("wu2", 30, 360, 570, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
$BeendenButton = GUICtrlCreateButton("Beenden", 270, 410, 80, 50, 0)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUICtrlSetBkColor(-1, 0xC0C0C0)
GUICtrlSetOnEvent($BeendenButton, "_AdminExit")
#endregion - Seite 3
;===============================================================
;===============================================================
#region - Startet erste Seite
GUISetState(@SW_SHOW, $Seite01)
#endregion - Startet erste Seite
;===============================================================
;===============================================================
#region - Schleife
While 1
Sleep (1000)
WEnd
Exit
#endregion - Schleife
;===============================================================
;===============================================================
#region - Funktion Seite 1
Func Seite01_OK()
Sleep(1000)
GUISetState( @SW_SHOW, $Seite02 ) ;öffnet Seite02
GUISetState( @SW_HIDE, $Seite01 ) ;versteckt Seite01
Sleep(2000)
_GUICtrlStatusBar_SetText ($StatusBar1, "Installations Status Gesamt", 4)
$Progress1 = 0 ; setzt die erste Statusbar auf 0
$Progress2 = 0 ; setzt die zweite Statusbar auf 0
;~ ***********************
Func_Install()
;~ ***********************
_GUICtrlStatusBar_SetText ($StatusBar1, "Installation beendet", 4)
_GUICtrlStatusBar_SetText ($StatusBar1, "Installation beendet", 0)
GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
GUICtrlSetData ($ProgressBar2, $Progress2 + 100)
Sleep(2000)
GUISetState( @SW_SHOW, $Seite03 ) ;öffnet Seite03
GUISetState( @SW_HIDE, $Seite02 ) ;versteckt Seite02
EndFunc ;==>Seite01_OK
#endregion - Funktion Seite 1
;---------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]#region - Funktion Seite 3
Func Neustart()
Sleep(500)
ProgressOn("Neustart", "Laufzeit", "0 Sek bis Neustart")
For $i = 1 To 60 Step 1
Sleep(1000)
ProgressSet($i, 60 - $i & " Sekunden bis Neustart")
Next
ProgressSet(100, "Laufzeit", "Neustart wird ausgelöst")
Sleep(1000)
ProgressOff()
Shutdown(2)
Exit
EndFunc ;==>Neustart
;---------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]Func Neustart2()
Sleep (2000)
Shutdown (2)
Exit
EndFunc ;==>Neustart2
#endregion - Funktion Seite 3
;===============================================================
;===============================================================
#region - Installationen
;~ ***************************************************
Func Func_Install()
;===============================================================
GUICtrlSetData($Feld_Fertig, "Versionskontrolle")
_GUICtrlStatusBar_SetText ($StatusBar1, "Versionskontrolle", 0)
GUICtrlSetData($Versionkontrolle_Fertig, "läuft")
GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
GUICtrlSetData ($ProgressBar2, $Progress2 + 10)
$i = 0
; Abfragen V3
; ----------------------------------------------------------
RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{528EC8F4-1C19-41BA-80A1-0B5EA21BA628}","DisplayName")
If @error = 1 then ; Wenn keine Alte Version gefunden wurde, dann 2
$i = $i + 2
Else ; Wenn Alte Version gefunden, dann Wert auf 4
$i = $i + 4
GUICtrlSetData ($ProgressBar1, $Progress1 + 50)
GUICtrlSetData ($ProgressBar2, $Progress2 + 20)
EndIf
Sleep(1000)
; Abfragen V4
; ----------------------------------------------------------
RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{01310914-E3B8-40E8-BCF7-9C42E0639A43}","DisplayName")
If @error = 1 then ; Wenn keine Neue Version gefunden wurde, dann Wert 8
$i = $i + 8
Else ; Wenn Neue Version gefunden wurde, dann Wert 16
$i = $i + 16
EndIf
Sleep(500)
_GUICtrlStatusBar_SetText ($StatusBar1, "Versionskontrolle beendet", 0)
GUICtrlSetData($Versionkontrolle_Fertig, "fertig")
GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
Sleep(2000)
; ******************** Verarbeitung ************************
Select
Case $i = 10 ; Alt Nein - Neu Nein / Install
; ************ Kein Deinstallation *****************
Sleep(2000)
GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
GUICtrlSetData($Feld_Fertig, "Deinstallation nicht nötig")
GUICtrlSetData($ALTloeschen_Fertig, "fertig")
Sleep(5000)
; ************ Installation *****************
_GUICtrlStatusBar_SetText ($StatusBar1, "Installation", 0)
GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
GUICtrlSetData ($ProgressBar2, $Progress2 + 60)
GUICtrlSetData($Install_Fertig, "läuft")
GUICtrlSetData($Feld_Fertig, "Installation Version 4.1.40")
Sleep(2000)
GUICtrlSetData ($ProgressBar1, $Progress1 + 20)
GUICtrlSetData ($ProgressBar2, $Progress2 + 70)
Sleep(500)
$Return = RunWait("msiexec /i ""C:\Temp\Install\PDFMailer-V4\pdfmailer4de.msi"" /qn", "", @SW_HIDE)
If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
Sleep(5000)
GUICtrlSetData ($ProgressBar1, $Progress1 + 60)
GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
Sleep(5000)
ShellExecuteWait("C:\Temp\Install\PDFMailer-V4\einst.bat", "", @SW_HIDE)
If @error = 1 then Exit MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL"); bei Fehler MSGBOX und Exit
Sleep(2000)
GUICtrlSetData ($ProgressBar1, $Progress1 + 90)
GUICtrlSetData ($ProgressBar2, $Progress2 + 90)
Sleep(2000)
; ******************************************************
Case $i = 12 ; Alt Ja - Neu Nein / Deinstall Alt + Install Neu
; ************ Deinstallation ************************
Sleep(2000)
GUICtrlSetData($Feld_Fertig, "Alte Version wird gelöscht")
GUICtrlSetData($ALTloeschen_Fertig, "läuft")
_GUICtrlStatusBar_SetText ($StatusBar1, "Deinstallation", 0)
GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
GUICtrlSetData ($ProgressBar2, $Progress2 + 20)
Sleep(500)
ProcessClose("EXCEL.EXE") ; Excel beenden falls geöffnet
$PID = ProcessExists("EXCEL.EXE")
If $PID Then ProcessClose($PID)
sleep(500)
ProcessClose("WINWORD.EXE") ; Word beenden falls geöffnet
$PID = ProcessExists("WINWORD.EXE")
If $PID Then ProcessClose($PID)
Sleep(500)
ProcessClose("POWERPNT.EXE") ; Powerpoint beenden falls geöffnet
$PID = ProcessExists("POWERPNT.EXE")
If $PID Then ProcessClose($PID)
Sleep(500)
ProcessClose("GEngine.EXE") ; PDFMAILER beenden falls geöffnet
$PID = ProcessExists("GEngine.EXE")
If $PID Then ProcessClose($PID)
sleep(500)
ProcessClose("PDFMailerApp.EXE") ; PDFMAILER beenden falls geöffnet
$PID = ProcessExists("PDFMailerApp.EXE")
If $PID Then ProcessClose($PID)
sleep(2000)
GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
Sleep(500)
RunWait("C:\WINDOWS\system32\msiexec.exe" & " /x{528EC8F4-1C19-41BA-80A1-0B5EA21BA628}" & " /qb" & " /norestart", "", @SW_HIDE)
Sleep(5000)
; ************************************************
; ************************************************
; ------------------------------------------------
;~ Dim $oFSO = ObjCreate('Scripting.FileSystemObject') ; muß global deklariert werden!! ==> s. Skriptanfang
;~ Dim $Path = 'D:\Profile\Dokumente und Einstellungen'
;~ Dim $str = ''
_ShowSubFolders($oFSO.GetFolder($Path))
;~ func _ShowSubFolders($Folder) ############ Funktionen können nicht in Funktionen erstellt werden!! #######
;~ For $Subfolder in $Folder.SubFolders
;~ $strPath &= $Subfolder.Path & @LF
;~ _ShowSubFolders($Subfolder)
;~ Next
;~ EndFunc
$aAllFolder = StringSplit($strPath, @LF)
For $su = 1 To UBound($aAllFolder) -1
If StringInStr($aAllFolder[$su], 'gotomaxx') And $oFSO.FolderExists($aAllFolder[$su]) Then _
$oFSO.DeleteFolder($aAllFolder[$su])
Next
; ------------------------------------------------
; ************************************************
; ************************************************
Sleep(5000)
If FileExists("c:\temp\install\PDFMailer") Then DirRemove("c:\temp\install\PDFMailer", 1) ; Löscht Verzeichniss des alten PDFMailers
Sleep(2000)
If FileExists("C:\Programme\gotomaxx") Then DirRemove("C:\Programme\gotomaxx", 1) ; Löscht Verzeichniss des alten PDFMailers
Sleep(2000)
RunWait("cscript c:\windows\system32\prnmngr.vbs -d -p ""maxx PDFMAILER Standard""","", @SW_HIDE) ; Löscht den Drucker, falls er nicht Deinstalliert wurde
Sleep(2000)
GUICtrlSetData($Feld_Fertig, "Alte Version gelöscht")
GUICtrlSetData($ALTloeschen_Fertig, "fertig")
GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
GUICtrlSetData ($ProgressBar2, $Progress2 + 50)
Sleep(2000)
; ************ Installation *****************
_GUICtrlStatusBar_SetText ($StatusBar1, "Installation", 0)
GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
GUICtrlSetData ($ProgressBar2, $Progress2 + 60)
GUICtrlSetData($Install_Fertig, "läuft")
GUICtrlSetData($Feld_Fertig, "Installation Version 4.1.40")
Sleep(2000)
GUICtrlSetData ($ProgressBar1, $Progress1 + 20)
GUICtrlSetData ($ProgressBar2, $Progress2 + 70)
Sleep(500)
$Return = RunWait("msiexec /i ""C:\Temp\Install\PDFMailer-V4\pdfmailer4de.msi"" /qn", "", @SW_HIDE)
If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
Sleep(5000)
GUICtrlSetData ($ProgressBar1, $Progress1 + 60)
GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
Sleep(5000)
ShellExecuteWait("C:\Temp\Install\PDFMailer-V4\einst.bat", "", @SW_HIDE)
If @error = 1 then Exit MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL"); bei Fehler MSGBOX und Exit
Sleep(2000)
GUICtrlSetData ($ProgressBar1, $Progress1 + 90)
GUICtrlSetData ($ProgressBar2, $Progress2 + 90)
Sleep(2000)
; ******************************************************
Case Else ; Nix machen
; ************ Kein Deinstallation *****************
Sleep(2000)
GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
GUICtrlSetData($Feld_Fertig, "Deinstallation nicht nötig")
GUICtrlSetData($ALTloeschen_Fertig, "fertig")
Sleep(3000)
; ************ Kein Installation *******************
GUICtrlSetData($Install_Fertig, "fertig")
GUICtrlSetData($Feld_Fertig, "PDFMailer V4 schon installiert")
GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
Sleep(3000)
; ******************************************************
EndSelect
; **********************************************************
EndFunc
;~ ***************************************************
;~ ****** Suchfunktion ******
Func _ShowSubFolders($Folder)
For $Subfolder in $Folder.SubFolders
$strPath &= $Subfolder.Path & @LF
_ShowSubFolders($Subfolder)
Next
EndFunc
;~ ***************************************************
#region - Generelle Funktionen
;******** Beenden mit Nachfrage = ESC oder Abbrechen oder auf X im Fenster
Func _Exit()
$Box = MsgBox(262452, "Installation abbrechen", "Wenn Sie jetzt die Installation abbrechen, wird sie beim nächsten Neustart wieder gestartet." & @CRLF & @CRLF & "Wirklich beenden?")
If $Box = 6 Then
Exit
EndIf
EndFunc ;==>_Exit
;---------------------------------------------------------------
;******** Skript per Hotkey beenden = Strg + Alt + X **********
Func _AdminExit()
Exit
EndFunc ;==>_AdminExit
;---------------------------------------------------------------
;******** Skript per Hotkey pausieren = Pause Taste **********
Func TogglePause()
$Paused = Not $Paused
While $Paused
Sleep(100)
ToolTip('Script is "Paused"', 0, 0)
WEnd
ToolTip("")
EndFunc ;==>TogglePause
;---------------------------------------------------------------
;******** Info *************************************************
Func Info() ; Zeigt Hilfe Fenster an
MsgBox(262208, "Info", $ProjectName & " Installation" & @CRLF & "Version: " & $Version & @CRLF & "Erstellt: " & $Erstellt & @CRLF & "Ersteller: " & $Erteller & @CRLF & "Abteilung: " & $Abteilung& @CRLF & "Mit Freundlicher Unterstützung des AutoIT Forums" & @CRLF & "Special THX an BugFix und Progandy")
EndFunc ;==>Info
;---------------------------------------------------------------
;******** Hilfe ************************************************
Func Hilfe()
MsgBox(262176, "Hilfe", "Haben Sie Fragen zu dieser Installation," & @CRLF & "dann rufen Sie bitte den Helpdesk " & @CRLF & "" & @CRLF & "unter Tel. 2000 an.")
EndFunc ;==>Hilfe
#endregion - Generelle Funktionen
;---------------------------------------------------------------
Echtes Multitasking geht nicht mit AutoIt. Du kannst einiges mit AdlibEnable simulieren.
Es gibt auch eine UDF, die Multitasking versucht zu simulieren. Suche mal im EN-Forum.
warum soll ich control dingens nehmen?
Weil MouseMouve / MouseClick nur der allerletzte Notnagel ist, wenn nichts anderes funktioniert. Ein Control über dessen Koordinaten anzusprechen birgt immer die Gefahr, dass du nabenhaust. ![]()
Alle Fehlermeldungen beziehen sich darauf, dass die verwendeten Variablen z.B. erstmals innerhalb einer Funktion verwendet (somit als Local deklariert) werden und dann außerhalb der Funktion weitergenutzt werden sollen.
Am Skriptanfang alle betroffenen Variablen als Global deklarieren.
[OT]
Du hast als Avatar Bayern München.. Ist das nicht der Verein, wo der *Auf-Holländisches-Tor-Schieß-Verweigerer* Luca Toni spielt? ![]()
[/OT]
Ich hatte dazu mal eine Zusammenstellung gemacht: UDF-Sammlung Array Alternativen
Anmerkung:
AutoIt selber hat keine Klassenbibliotheken, da es keine Objektorientierte Sprache ist. Die aufgeführten Bsp. nutzen die Möglichkeit, sich per Referenz auf ein Objekt, dessen Methoden verfügbar zu machen.
& ist ein Stringoperator, d.h. damit werden Zeichenketten zusammengefügt.
Wenn ein Teil der Zeichenkette in einer Variablen steht wird halt die Variable angefügt.
z.B.
$a = "Text1" & "-Text2"
MsgBox(0, '', $a) ; ergibt: "Text1-Text2"
$a = "Text1"
$b = "-Text2"
$c = $a & $b
MsgBox(0, '', $c) ; ergibt wieder: "Text1-Text2"
Hatte gar nicht gesehen, dass das Datum da mit reingequetscht war.
FileMove(@UserProfileDir & "\Eigene Dateien\Firefox 2.0.0.14 (de) - " & $2 & ".xxx", $1 & ":\")
[/autoit]Ich glaube, jetzt verstehe ich. Du möchtest die Datei in einen OU-Container des AD stecken und von dort kann sich dann jeder User diese Datei importieren. Oder doch anders?
FileMove("C:\Dokumente und Einstellungen\$3\Eigene Dateien\Firefox 2.0.0.14 (de) - $2.xxx", $1 & ":\")
[/autoit]Und aktuellen Nutzer brauchst du nicht abfragen - nimm: @UserName.
1. Du verwendest beim Scan Schrittweite 5. Ist das gewollt? Das bedeutet, dass aus einem 5x5 Pixel großen Raster nur die erste gefundene Koordinate zurückgegeben wird.
2. Gib mir bitte mal die ganze Fehlermeldung, kopier sie aus der Commandline von SciTE. Hier in dem gezeigten Code ist nicht ersichtlich, wo eine fehlerhafte Deklaration sein soll. Kopier bitte den Verweis auf die Fehlerzeile und auch die entsprechende Zeile im Skript.
In der Funktion _ShowSubFolders($Folder) ist die Variable $str enthalten. Diese mußt du in deinem Skript deklarieren, damit sie auch außerhalb der Funktion zur Verfügung steht.
Also
Global $str
[/autoit]an den Anfang und schon paßt es.
Outlook - Import - CSV ?
Oder wo liegt das Problem? Und warum führst du immer wieder das AD an, sehe da keinen Zusammenhang.
ins Active Directory importieren.
Verstehe ich nicht, was willst du im Verzeichnisdienst mit den Daten?
In welchem Programm willst du denn die Daten nutzen?
Das kannst du mit den Funktionen der ListView-UDF erledigen. #Include <GuiListView.au3>
Schau dir die Bsp. in der Hilfe an, ist eigentlich verständlich erklärt. Wenn noch Fragen sind melde dich wieder.
(Beachte: Für die Funktion wird das Handle des Listview benötigt!)