Hallo
Genau. $ar sollte Array sein
$i wird auch deklariert, undzwar in der FOR Schleife
"For $i = 1 To $ar[0]"
Deklariere $i und mach eine For schleife von 1 bis $ar[0]. So könnte man das ca übersetzen
Mfg Spider
Hallo
Genau. $ar sollte Array sein
$i wird auch deklariert, undzwar in der FOR Schleife
"For $i = 1 To $ar[0]"
Deklariere $i und mach eine For schleife von 1 bis $ar[0]. So könnte man das ca übersetzen
Mfg Spider
Hallo
Eine mögliche Möglichkeit währe diese hier:
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$str = "Speed|Graffiti|Skyline|Cityscape|Muscle|Money|Cash|Base"
$ar = StringSplit($str, "|")
GUICreate("")
$CBH = GUICtrlCreateCombo("Bitte wählen sie den Hintergrund", 25, 25)
GUICtrlSetData($CBH, $str)
$but = GUICtrlCreateButton("Klick mich", 25, 50)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $but
For $i = 1 To $ar[0]
If $ar[$i] = GUICtrlRead($CBH) Then ExitLoop
Next
If $i > $ar[0] Then
MsgBox(48, "", "Bitte wählen sie den Hintergrund aus der Combo Box!")
Else
MsgBox(0, "", GUICtrlRead($CBH) & " entspricht die Zahl " & $i)
EndIf
EndSwitch
WEnd
Mfg Spider
Hallo
RunWait startet eine ausführbare Datei und wartet bis sie beendet ist!
Also sozusagen
[autoit]$pid = Run("bla.exe")
While ProcessExists($pid)
Sleep(100)
Wend
Das hier kann also garnicht funktionieren:
[autoit]$return = RunWait("X:\Programs\SYMANTEC\GDisk32.exe /batch:GDISK-BATCH.txt")
WinWait("X:\Programs\SYMANTEC\GDisk32.exe")
WinWaitClose("X:\Programs\SYMANTEC\GDisk32.exe")
Probier das mal mit Run anstatt RunWait!
Mfg Spider
Hallo
Ja, da gibt es noch ein paar Probleme mit dem Konstanten Variablen. Die werden jetzt, da in der momentanen Beta schon viele Konstante (Const) in den Standard includes übernommen wurden, teils doppelt Deklariert. Und da gibt AutoIt selbstverständlich ein error.
Also entweder warten, bis es ein Fix für die Auto3Lib gibt, oder mit der Stable kompelieren.
MFg Spider
Hallo
Dann guck dir mal die Auto3Lib an. Da guckst du in die mitgelieferte Hilfe datei (Auto3Lib.chm) und guckst dir dort die Funktion "_ScreenCap_Capture" an. Aufruf sollte der gleiche sein wie in der AutoIt beta.
Mfg Spider
3.2.9.13
3.2.9.13 (19th November, 2007) (Beta)
- Fixed: DllCallbacks bringen das Skript zum Abstürzen wenn auf das Tayicon geklickt wird (Beachte: Callbacks können nicht pausiert werden).
- Added: DllCall() und DllCallbackRegister() aktzeptieren jetzt doubles, int64 und uint64 Typen.
Hallo
Gibt es jetzt eigentlich sowas wie ne Jury?^^ Ich dachte das das hier am 16.11 ausläuft?!
Mfg Spider
Hallo
Also es gibt die Funktion HttpSetProxy und FtpSetProxy in der AutoIt hilfe falls du das meinst..
Mfg Spider
3.2.9.12
3.2.9.12 (17th November, 2007) (Beta)
- Added: DllCallbackRegister(), DllCallbackGetPtr() und DllCallbackFree()
Funktioniert auf X86 und X64 Systemen (Beispielskript in der AutoIt Hilfe)
Hallo
So, ich hab mal wieder eine OT Frage^^ Bei mir ist es so, dass ca jede 2te Woche die Sounds von Windows XP SP2 einfach verschwinden. Also sie sind im media Ordner von Windows (%SystemRoot%\media) noch vorhanden, aber in der Systemsteuerung sind sie alle weg. Wenn ich jetzt auf "Windows Default" gehe, dann passiert nix. Die Sounddaten werden nicht eingetragen.
Was jetzt aber noch komischer ist, dass in der Registry bei
alles richtig zu sein scheint.
Z.B. ist bei
in (Standart) der Wert "%SystemRoot%\media\Windows XP-Hardwarefehler.wav" drin, genau so wie es sich gehört.
Hat jemand eine Lösung für dieses Mysteriöse Problem?^^ Vielen dank schonmal
Mfg Spider
Hallo
Ja, klappt jetzt alles Vielen dank an alle!
Mfg Spider
Hallo
So, hier ist nun mein 20 Zeiler (Eigentlich 19 Zeiler^^)
Mit diesem kleinen Programm könnt ihr sowohl die Arbeitsgruppe auslesen, als auch schreiben(!) Hat zwar nur 19 Zeilen, ist aber stolze 1704 Bytes groß
Viel Spaß:
Global $tmp = SplashTextOn("","Bitte Warten...",200,20,-1,-1,1) + Assign("maingui",GUICreate("Arbeitsgruppe ändern",200,50,200,200)) + Assign("inp",GUICtrlCreateInput(_GetWorkgroup(),0,0,200,20,0x0008)) + Assign("but",GUICtrlCreateButton("Ändere Arbeitsgruppe",0,23,200,23,0x0001)),$msg = SplashOff()
GUISetState()
While $msg <> -3
Global $msg = GUIGetMsg()
If $msg = Eval("but") Then _ChangeWorkgroup(StringUpper(GUICtrlRead(Eval("inp"))))
WEnd
Func _ChangeWorkgroup($WGName, $PCName = @ComputerName)
Local $tmp = GUICtrlSetState(Eval("but"),128) + GUICtrlSetData(Eval("but"),"Bitte Warten..."),$struct[3] = [DllStructCreate("wchar[100]"),DllStructCreate("wchar[1]"),DllStructCreate("wchar[100]")], $tmp = DllStructSetData($struct[0], 1, $WGName) + DllStructSetData($struct[1], 1, 0) +DllStructSetData($struct[2], 1, $PCName),$Ptr[3] = [DllStructGetPtr($struct[0]),DllStructGetPtr($struct[1]),DllStructGetPtr($struct[2])]
Local $tmp = DllCall('Netapi32.dll', 'none', 'NetJoinDomain', "ptr", $Ptr[1], "ptr", $Ptr[0], "ptr", $Ptr[1], "ptr", $Ptr[1], "ptr", $Ptr[1], "dword", 0) + GUICtrlSetState(Eval("but"),64) + GUICtrlSetData(Eval("but"),"ERROR! Nochmal?")
If @error Then Return SetError(@error, 1, 0)
Local $tmp = Run("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1"),$tmp = WinWait("Systemeigenschaften"),$wgp = WinGetPos("Systemeigenschaften"),$tmp = WinActivate("Systemeigenschaften")+GUICtrlSetData(Eval("but"),"Erledigt! Nochmal?")
Return MouseClick("Left",$wgp[0]+150,$wgp[1]+ 207)+Send("+{END}")
EndFunc ;==>_ChangeWorkgroup
Func _GetWorkgroup()
$oWinNT = ObjGet("WinNT:")
For $DomainObj In $oWinNT
Return $DomainObj.Name
Next
EndFunc ;==>_GetWorkgroup
Mfg Spider
3.2.9.11
3.2.9.11 (15th November, 2007) (Beta)
- Changed: Temporäre popup Warnungen wurden hinzugefügt, wenn Falsche DllCall Typen benutzt werden
- Fixed: UPX wird nicht benutzt wenn ein Script zu einer 64Bit EXE Kompeliert wird.
Hallo
Sieht gut aus pee Aber ich wäre dafür das alle ihr Script gleichzeitig abgeben. Sonst kann es halt passieren das man sich die ein oder anderen Sachen klaut
Mfg Spider
Hallo
Super, vielen Dank. Dann hatte ich einfach die Falsche Version von NetDom.exe erwischt
Für alle die, die es interesiert, hier ist eine Kleine UDF (Downloadet die NetDom.exe automatisch wenn sie nicht existiert):
MsgBox(0,"",_ChangeWorkgroup("ARBEITSGRUPPE"))
[/autoit] [autoit][/autoit] [autoit]Func _ChangeWorkgroup($sWorkgroup,$sComputername = @ComputerName)
If Not FileExists("netdom.exe") Then
If MsgBox(20,"","NetDom.exe not founded! Downlad?") = 7 Then Return SetError(1,0,0)
If @ProcessorArch <> "X86" Then Return SetError(1+MsgBox(16,"","This will only work with an X86 OS. You running "&@OSVersion&" "&@ProcessorArch&"!"),0,0)
TrayTip("Please Wait","Downloading NetDom.exe",4)
InetGet("ftp://ftp.microsoft.com/reskit/nt4/x86/netdom_x86.exe","netdom_inst.exe")
$pid = Run("netdom_inst.exe","",@SW_HIDE)
WinWait("WinZip Self-Extractor [netdom_inst.exe]")
ControlSetText("WinZip Self-Extractor [netdom_inst.exe]","","Edit1",@ScriptDir)
ControlClick("WinZip Self-Extractor [netdom_inst.exe]","","Button3")
WinWait("WinZip Self-Extractor","2 file(s) unzipped successfully")
ProcessClose($pid)
FileDelete(@ScriptDir&"\netdom_inst.exe")
TrayTip("","",1)
EndIf
$pid = Run("netdom.exe member "&$sComputername&" /joinworkgroup "&$sWorkgroup,"",@SW_HIDE,2)
While ProcessExists($pid)
Sleep(100)
WEnd
Return StdoutRead($pid)
EndFunc
Ich hoffe diese Funktion hilft den ein oder anderen
Mfg Spider
EDIT: Grade etwas gefunden, keine Ahnung ob es auch für Arbeitsgruppe geht, ist aber halt ohne Netom sodnern mit Object's..: KLICK MICH
Hallo und herzlich :willkommen:
Probier das mal:
[autoit]Opt("winTitleMatchMode",2)
WinActivate("- Mozilla Firefox")
Mfg Spider
EDIT: Sorry, Inet war weg, hat erst 5 Minuten später gepostet
Hallo
Ja, hier wird es mit NetDom gemacht. Habe ich auch schon Probiert, kriege aber immer Folgende Fehlermeldung:
Naja, die Arbeitsgruppe "WORKGR" existiert tatsächlich nicht, aber wie kann ich denn mit NetDom eine erstellen?
Wenn ich es mit ADD probiere kommt folgende Fehlermeldung:
Vielen dank nochmal
Mfg Spider
Hallo
Vielen dank für diese Lösungsvorschläge
@Buffo: Ja, damit kann man aufjedenfall die Domain/Arbeitsgruppe auslesen, aber leider nicht schreiben Ich hab es übrigends mit dem Objekt ""WinNT:" gemacht:
$oWinNT = ObjGet("WinNT:")
For $DomainObj In $oWinNT
MsgBox(0,@OSVersion,'Willkommen in der Arbeitsgruppe "'&$DomainObj.Name&'"')
Next
Greenhorn: Mh, aber das ist doch nur eine LOG Datei? Also sie schreibt doch nur auf was geändert wurde oder?
Mfg Spider
Hallo
Man hat ja sonst nichts zutun
Schöne Sammlung, danke.
Mfg Spider