[autoit]
Send("#m")
[/autoit]Send("#m")
[/autoit]Habe nur eine Idee was dein Problem auslösen könnte. Vielleicht hast du das eingeschaltet:
[autoit]Opt("GUIOnEventMode",1)
[/autoit]Dann funktioniert das mit der GuiGetMsg-Schleife natürlich nicht, aber dann ließe sich ohne entsprechende Funktion die GUI nicht einmal mehr schließen.
Bei mir läuft dein Code einwandfrei (bis auf die paar fehlenden Funktionen
). Kontextmenü klappt wunderbar. Gibt's irgendeinen bestimmten Menüpunkt im Kontext, der nicht funktioniert?
ZitatAber $array[0] ist auf einmal = 2 Oo
Der String wurde ja auch in 2 Teile geteilt.
$array[1] = "C:\Programme\Valve\xxx\css.exe "
$array[2] = "/startsilent"
Ich hoffe ich habe es richtig verstanden. Probier's mal so:
[autoit]$array = StringSplit("'"&$registrystring&"'","/")
[/autoit]Vielleicht so:
$registrystring =' "C:\Programme\Valve\xxx\css.exe" /startsilent'
$array = StringSplit($registrystring,"/")
MsgBox(0,"",$array[0] & " ---------------1" & @crlf & $array[1] & " -------------------------2")
Du kannst auch nur mit dem Handle des Fensters arbeiten, dann ist es egal ob sich der Titel ändert oder nicht.
Or StringRight($File,3) = "mdb")
[/autoit]RunWait ist auch falsch, da muss man das Programm beenden, bevor das Skript weitermacht!
Immer wird das nich gehen, aber hier schon.
#include <Array.au3>
$a = '1234567890'
$b = StringRegExp('00'&$a,'.{1,4}',3)
$b[0] += 0
_ArrayDisplay($b)
Kanns nicht testen, aber normal doch so (hoffe ich):
[autoit]$dll = DllOpen("add.dll")
$c = DllCall($dll,"double","AddNumbers","double",$a,"double",$b)
Ja entweder mit Execute Strings interpretieren, oder was ist eigentlich der Unterschied zwischen einer Textdatei und einem Au3-File ?? ![]()
Run(@ProgramFilesDir&"\AutoIt3\AutoIt3.exe " & "autoit.txt")
[/autoit]Ich bin schon gespannt auf das Video, danke für die vielen Mühen Tom und auch McPoldy!
Wenn die Datei überall sein kann, dann lies dir das durch: http://www.autoitscript.com/forum/lofivers…php?t35556.html
/v ist nur zur zusätzlichen Sicherheit, dass wirklich alles geklappt hat beim kopieren.
/e /s /c /y würde ich bei jedem Befehl einsetzen. /d wenn nur Dateien kopiert werden sollen die neuer sind als die bereits vorhandenen. Rentiert sich vor allem wenn große oder viele Dateien kopiert werden sollen.
Parameter /d ist auch nicht schlecht ![]()
Ein Beispiel das funktioniert
[autoit]RunWait(@ComSpec & " /c " & 'echo d|xcopy /y "'&@DesktopDir&'\123.txt" "' & @DesktopDir&'\123.bak" && pause',"",@SW_HIDE)
[/autoit]Es gibt da einige Probleme bei DOS-Programmen: Du kannst keinen Dateinamen oder Ordnernamen mit Leerzeichen angeben, es muss der also der ganze Pfad mit dem Dateinamen zusätzlich in ein ' oder " gepackt werden. Außerdem wollte xcopy bei mir wissen, ob das Ziel ein Ordner oder eine Datei ist, also schicke ich mit dem ECHO-Befehl noch ein 'd' für Datei an xcopy.
Ich hoffe damit ist dir geholfen.
EDIT: Das &&Pause war nur zu Testzwecken und gehört entfernt!!
Sag ich doch. Ich hab ja auch noch 2 Zeilen hinzugefügt
TCPShutdown()
TCPStartUp()
@progandy: xcopy hat viele Vorteile. Es gibt viele Optionen, die Dircopy so nicht kann. Natürlich wenn man diese Optionen nicht braucht (z.B. nur Dateien, die nach einem bestimmten Datum erstellt wurden) und schlicht kopieren will, dann würde ich auch DirCopy bzw. FileCopy wählen.
Ich hoffe man merkt mir nicht an, dass ich ein alter DOS-Junkie bin
Aber mittlerweile wurden fast meine ganzen Batch-Dateien durch Autoit-Skripte ersetzt. ![]()