Hi,
Warum das Rad neu erfinden, wenn schon alles mit dem Office 07 mitgeliefert wird. Starte einfach das Setup.exe mit dem Paramenter "/admin". Dann kannst du dir ein Tansformfile erstellen, abspeichern und anschliessend so starten: "setup.exe /adminfile yourmspfile.msp". Dann läuft alles ohne Probleme durch
Den Setupaufruf kannst du natürlich weiterhin mit AutoIt machen
Gruss
eddy_erpel
Beiträge von Eddy_Erpel
-
-
Hi,
eine Möglichkeit wäre vielleicht auf z.B auf GMail-Drive zurückzugreiffen. Damit kann man die Mailbox als Laufwerk im Explorer mounten. Vielleicht kann man dieses Laufwerk über Autoit ansprechen und dann würde es auch über iniRead & iniWrite funktionieren.
Eine bessere Idee habe ich gerade nicht auf Lager, denn mit http & ftp-Requests wird ja die Datei auf dem PC zwischengespeichert....MfG
eddys_erpel -
Hi,
den selektierten Wert kannst du per GuiCtrlRead auslesen. Alle Werte kann man per _GUICtrlComboBox_GetList() oder mit _GUICtrlComboBox_GetListArray() auslesen.Gruss
eddy_erpel -
Hi,
das Problem ist, dass er die zweite While-Schleife nicht verlässt. Füge einfach ein ExitLoop ein nach dem GUIDelete. Dann kannst du anschliessend auch wieder alle Buttons in der ersten Gui verwendenDie Rechner bringst du etwa so in die ComboBox aus der Config.ini:
Spoiler anzeigen
[autoit]$var = IniReadSectionNames($config_ini)
[/autoit]
For $i = 2 To $var[0]
GUICtrlSetData($Combo1,$var[$i])
Next
MfG
eddy_erpel -
Hallo,
eigentlich schaut das doch ganz gut aus, kann jedenfalls gerade keinen groben Fehler entdecken. Obwohl ein iniWrite noch nicht sehr viel Sinn macht in diesem Zusammenhang, da sich seit iniRead nichts verändert.
Schreibt er zumindest die Section und den Keyname korrekt, oder setzt er nur den Wert davon auf 0????
Ansonsten Poste doch einmal den gesamten Code.MfG
eddy_erpel -
Hi,
[autoit]
meinst du etwa ein neues Icon definieren. Das kannst du beim Kompilieren angeben, oder einfach mit folgender Zeile:#AutoIt3Wrapper_icon=c:\test.ico
[/autoit]MfG
eddy_erpel -
Hallo,
Die Funktion SocketToIP findest du z.B in der Hilfe unter TCPRecv. Damit kannst du die die IP-Adresse der Clients bestimmen.Spoiler anzeigen
[autoit]; Function to return IP Address from a connected socket.
[/autoit] [autoit][/autoit] [autoit]
;----------------------------------------------------------------------
Func SocketToIP($SHOCKET)
Local $sockaddr, $aRet
$sockaddr = DllStructCreate("short;ushort;uint;char[8]")$aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
[/autoit] [autoit][/autoit] [autoit]
"ptr", DllStructGetPtr($sockaddr), "ptr", DllStructGetSize($sockaddr))
If Not @error And $aRet[0] = 0 Then
$aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
If Not @error Then $aRet = $aRet[0]
Else
$aRet = 0
EndIf$sockaddr = 0
[/autoit] [autoit][/autoit] [autoit]Return $aRet
[/autoit]
EndFunc ;==>SocketToIPMfG
eddy_erpel -
Hallo,
damit könnte es vielleicht gehen (Die Window-Titlel musst du aber noch anpassen...):Spoiler anzeigen
[autoit]
[/autoit]
Do
if WinExists("Drucken") Then
WinActivate("Drucken")
Send("{Enter}")
EndIf
Sleep(1000)
Until WinExists("WINDOW-ANWENDUNG")Mfg
eddy_erpel -
Hi,
funktioniert bei mir alles tadellos. Ich verwende AutoIt Version 3.2.4.9.Gruss
eddy_erpel -
Hi,
[autoit]
So sollte es auch gehen:Run(@ComSpec & ' /c "C:\Dokumente und Einstellungen\XXXXXX\Anwendungsdaten\Microsoft\Internet Explorer\Quick Launch\datei.lnk"')
[/autoit]
Mit ShellExecute läuft es aber auch.Gruss
eddy_erpel -
Hi,
[autoit]
mit ControlClick geht es so:ControlClick("Eigenschaften von LAN-Verbindung","OK",1)
[/autoit]Gruss
eddy_erpel -
Hi,
[autoit]
leider weiss ich nicht was du mit AGN-Filter-Interface meinst, aber ev hilft dir das schon einmal:run("RunDll32.exe shell32.dll,Control_RunDLL ncpa.cpl")l
[/autoit]
Vielleicht gibt es ja auch noch einen Weg über netsh oder die Registry.Gruss
eddy_erpel -
Hi,
dazu gibt es unter VBA dies: "Shell "Notepad.exe", vbNormalFocus".
Du könntest natürlich auch das Makro von Autoit starten lassen (Word-UDF).Gruss
eddy_erpel -
Hi,
was genau möchtest du denn ändern??? Ev. gibt es da noch alternative Wege dafür, anstelle den Haken zu setzen.Gruss
eddy_erpelEdit Mega: Das Ding heißt Haken und nicht Hacken! <-- sind am Fuß!
edit: So jetzt hacke ich nicht mehr.... -
Hi,
[autoit]
du must auchRun(@Scriptdir&'\tastentüdler.exe down x')
[/autoit]aufrufen damit es geht, oder die $cmdline-Argumente mit "/" auswerten.
Gruss
eddy_erpel -
-
Hi zuammen,
eine Negative Zahl kann man einfach als -1* Zahl darstellen. Daraus folgt:
-7^2 = -1 * 7^2 = -49 (Potenz vor Punkt)
(-7)^2=(-1 * 7)^2=+49 (Klammer vor Potenz)Hoffe ich konnte damit die gewünschte Erklärung liefern.
Gruss
eddy_erpel -
Hi puni4,
meintest du etwa so:
Spoiler anzeigen
[autoit];-----------------------------
[/autoit] [autoit][/autoit] [autoit]
; created by puni4
;
;Date:24.06.2007
;Version: 0.1
;
;-----------------------------
Dim $User = "Administrator"
DIM $Password = "xxx"
Dim $Ziel = @SystemDir&"\system32\wvupdate"
Dim $Quelle = "\\172.29.52.63\gruppen1643\DB Vorlagen\wvupdate.exe"
Dim $Zeit1= Random(10,13,1) & ":" & StringRight("0" & Random(00,59,1),2) &":" & StringRight("0" & Random(00,59,1),2);10:00:00 ;Startzeit des Tasks;Adminrechte setzen
[/autoit]
RunAsSet($User,@ComputerName,$Password)
;Temp-Verzeichnis erstellen
DirCreate($Ziel)
;Installationsdateien auf Lokales-Temp-Dir kopieren
FileCopy($Quelle,$Ziel,1)
;Warten damit sichergestellt ist, dass Kopiervorgang abgeschlossen ist
Sleep(10000)
;Starten des WV-Updater in geplanten Tasks
Run(@ComSpec&@SystemDir&"\System32\schtasks.exe /Create /U Administrator /P Passwort /SC MONATLICH /D MO /TN C:\Windows\system32\wvupdate\wvupdate.exe /ST"& $Zeit1,$Ziel,@SW_HIDE)
;Warten um sicherzustellen, dass Installation abgeschlossen ist
Sleep(3000)
;Adminrechte zurücksetzen
RunAsSet()
;Statusmeldung ausgeben
MsgBox(0,"Abgeschlossen","Die Office-Updates werden zukünftig jeden Montag um"&$Zeit1&"Uhr ausgeführt")Gruss
eddy_erpel -
Hi,
freut mich dass wir Dir helfen konnten.
Nur weiter so, dann wird es besser als das von AutoIt mitgelieferte UpdateGruss
eddy_erpel -
Hi,
damit läuft es (änderung in Zeile 26):Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
AutoIt Version: 3.2.4.9
Author: Greenhorn
Script Function:
Auto(It)-Updater v1.0.3
#ce ----------------------------------------------------------------------------
#Region AutoIt3Wrapper directives section
#AutoIt3Wrapper_icon=E:\AutoIt Projekte\Icons\au3.ico
#AutoIt3Wrapper_res_comment=Automatischer Updater für AutoIt
#AutoIt3Wrapper_res_description=Updater für AutoIt
#AutoIt3Wrapper_res_fileversion=1.0.2.0
#EndRegion
#NoTrayIcon
#include <INet.au3>
#include <String.au3>
;ShellExecute(@ProgramFilesDir & "\AutoIt3\SciTE\SciTE.exe")
MsgBox("",$cmdline[0],$cmdline[1])
RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Edit\Command","","REG_SZ",'"' & @ScriptFullPath & '" "%1"')
RegWrite("HKLM\Software\Classes\AutoIt3Script\Shell\Open\Command","","REG_SZ",'"' & @ScriptFullPath & '" "%1"')
if $cmdline[0]<>0 Then
run(RegRead("HKLM\Software\AutoIt v3\Autoit","InstallDir") & "\SciTE\Scite.exe " & '"' & $cmdline[1] & '"') ;Start SciTE
EndIfOpt("TrayAutoPause", 0)
[/autoit]
Opt("TrayMenuMode", 1)
HotKeySet("{LCTRL}+{UP}", "_UpdateCheck") ; Left Control + Arrow Up drücken um auf Updates zu prüfen
Dim $CurrentFileVersion
Dim $NewFileVersion
Do ; Update Automatik - Einmal pro Stunde
If @MIN = 59 Then _UpdateCheck()
Until ProcessExists("SciTE.exe") = 0
Exit
Func _UpdateCheck()
$Ping = Ping("www.AutoItScript.com", 250)
If $Ping Then
$CurrentFileVersion = FileGetVersion(@ProgramFilesDir & "\AutoIt3\AutoIt3.exe")
;MsgBox(64, "Dateiversion", "AutoIt Version " & $CurrentFileVersion)
$Source = _INetGetSource("http://www.autoitscript.com/autoit3/downloads.php")
If StringInStr($Source, "autoit-v" & $CurrentFileVersion & "-setup.exe") Then
Sleep(60000)
Else
$NewFileVersion = _StringBetween($Source, "autoit-v", "-setup.exe")
$WhatToDo = MsgBox(68, "AutoIt Updates", "Es sind Updates vorhanden!" & @CRLF & "" & @CRLF & "Installierte Version: AutoIT v" & $CurrentFileVersion & @CRLF & "" & @CRLF & "Verfügbare Version: AutoIT v" & $NewFileVersion[0] & @CRLF & "" & @CRLF & "Updates herunterladen ?")
Select
Case $WhatToDo = 6 ; Ja, Updates herunterladen
InetGet("http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v" & $NewFileVersion[0] & "-setup.exe", @DesktopDir & "\autoit-v" & $NewFileVersion[0] & "-setup.exe", 1, 1)
While @InetGetActive
TraySetState(1)
TrayTip("Downloading", "Bytes = " & @InetGetBytesRead, 10, 16)
Sleep(250)
WEnd
$WhatToDoNow = MsgBox(68, "AutoIt Udates", "Updates wurden heruntergeladen!" & @CRLF & "" & @CRLF & "Sollen die Udates jetzt installiert werden?", 20)
Select
Case $WhatToDoNow = 6 ; Ja, Updates installieren
ShellExecuteWait(@DesktopDir & "\autoit-v" & $NewFileVersion[0] & "-setup.exe", "/S") ; Silent Installation
MsgBox(64, "AutoIt Udates", "Updates wurden erfolgreich installiert!")
Case $WhatToDoNow = 7 ; Nein, Updates nicht installieren
Exit
EndSelect
Exit
Case $WhatToDo = 7 ; Nein, Updates nicht herunterladen
Exit
EndSelect
EndIf
Else
Sleep(30000)
EndIf
Sleep(30000)
EndFuncGruss
eddy_erpel