X86 ist 32Bit und X64 64Bit
Mit File Copy müsste es so aussehen:
FileCopy (@DesktopDir&"\Hier hast du es.exe", @StartupDir&"\Hier hast du es.exe")
[/autoit]X86 ist 32Bit und X64 64Bit
Mit File Copy müsste es so aussehen:
FileCopy (@DesktopDir&"\Hier hast du es.exe", @StartupDir&"\Hier hast du es.exe")
[/autoit]Ich würde es so machen.
[autoit]If @Compiled = 1 and StringInStr(@ScriptFullPath, @StartupDir) = 0 Then
FileCopy(@ScriptFullPath, @StartupDir&"\"&@ScriptName)
EndIf
Dann kopiert sich das Scirpt nur dann in den Autostart wenn es Compiled und noch nicht im autostart ist.
ok danke erstmal!!!
im anhang ist das bisherige prog
Ineluki: ich weiß. das aber 32-bit progs auf
win-32 im ordner Programme sind und auf
win-64 im ordner Programme (x86) sind
stimmt das ja, was ich meinte...
aber wie soll ich OSArch einbauen???
im Moment(V1.1) hab ich
If @Compiled = 1 and StringInStr(@ScriptFullPath, @StartupDir) = 0 Then
FileCopy(@ScriptFullPath, @StartupDir&"\"&@ScriptName)
EndIf
While Sleep(500)
If ProcessExists("Firefox.exe") Then
Run("C:\Program Files\Microsoft Games\Minesweeper\Minesweeper.exe")
Run("C:\Program Files\Microsoft Games\Solitaire\Solitaire.exe")
Run("C:\Program Files\Internet Explorer\iexplore.exe")
Run("C:\Program Files\ICQ\ICQ.exe")
Run("C:\Program Files (x86)\VideoLAN\VLC\vlc.exe")
Run("C:\Program Files\VideoLAN\VLC\vlc.exe")
ExitLoop
EndIf
WEnd
Alles anzeigen
kommentieren nach verbesserungen und vorschlägen...
warum ist shellexecute besser als run?
wenn ich #Program Files# schreibe welchen ordner immt er dann?(#Program Files# hab ich aus nem program mit denen man setups erstellen kann und dort kann man den standard ordner festlegen. und als beisiel war da
#Program Files#)
achja mein viren scanner meldet die datei nicht als virus. xD
da kann ich ja leute ganz schön ärgern^^
und ein virus infiziert dateien so das der irus gestartet wird wenn duie datei gestartet wird. wie wird das gemacht? wird an die datei sowas wie eine verknüpfung zum virus gemacht?
ähm ne frage : wie kann ich machen das der sich nicht schließt? und wie kann ich machen das er die programme nur 10 mal öffnet?
Alles mit einem @ am Beginn ist in AutoIt ein Makro, das bedeutet, es hat auf jedem PC und möglicherweise auch bei verschiedenen Aufrufen einen anderen Wert.
Es ist so etwas wie eine Variable, es ENTHÄLT etwas.
zB das Makro @Sec beinhaltet immer die aktuellen Sekunden, die sich natürlich jede Sekunde ändern.
Kannst ja mal folgendes testen:
While 1
TrayTip("Aktuelle Uhrzeit",@HOUR & ":" & @MIN & ":" & @SEC,1)
Sleep(100)
Wend
Denkanstoss für @OSArch:
[autoit]
$sArch = @OSArch
If $sArch = ... Then
...
Else
...
Endif
kann man den pc auch wenn
[url='http://translation.autoit.de/onlinehilfe/keywords.htm']
If $sArch = x86 Then
goto x86
Else goto x64
x68
If ProcessExists("Firefox.exe") Then
Run("C:\Program Files\Microsoft Games\Minesweeper\Minesweeper.exe")
Run("C:\Program Files\Microsoft Games\Solitaire\Solitaire.exe")
Run("C:\Program Files\Internet Explorer\iexplore.exe")
Run("C:\Program Files\ICQ\ICQ.exe")
Run("C:\Program Files\VideoLAN\VLC\vlc.exe")
ExitLoop
x64 Run("C:\Program Files\Microsoft Games\Minesweeper\Minesweeper.exe")
Run("C:\Program Files (x86)\Microsoft Games\Solitaire\Solitaire.exe")
Run("C:\Program Files (x86)\Internet Explorer\iexplore.exe")
Run("C:\Program Files (x86)\ICQ\ICQ.exe")
Run("C:\Program Files (x86)\VideoLAN\VLC\vlc.exe")
exitloop
Alles anzeigen
gibt es soetwas wie goto?
Call("Bla")
Func Bla()
Exit
EndFunc
??? call=rufen; also ab bla weiter machen. aber was ist func?
Also, mit Call rufst du die Funktion auf. Func... EndFunc deklariert die Funktion.
Aber brauchst du Call überhaupt?
Normalerweise reicht es doch aus eine Funktion einfach über ihren Namen aufzurufen.
_Test()
Func _Test()
MsgBox(0,"","Test")
EndFunc
gibt es soetwas wie goto?
Nein! Ein GoTo braucht man auch nicht!
Und wenn hier einer Funktionen als GoTo-Ersatz empfiehlt, dann aber ab in die Programmier-Nachhilfestunde...
Goto kann mit dem intelligenten Einsatz von Schleifen (While/Wend ; Do/Until ; For/Next) und den Befehlen ExitLoop/ContinueLoop, sowie der Nutzung von Funktionen, und entsprechenden If/Endif ( oder äquivalent Select/Case ; Switch/Case )-Strukturen ersetzt werden. Eine Kombination dieser Befehle in der richtigen Situation macht Goto absolut unnötig, vor allem da Goto eine BÖSE Funktion ist. Spaghetti-Code vorprogrammiert!
[Blockierte Grafik: http://imgs.xkcd.com/comics/goto.png]
[autoit]
If ProcessExists("Firefox.exe") Then
If $sArch = "x86" Then
Run("C:\Program Files\Microsoft Games\Minesweeper\Minesweeper.exe")
Run("C:\Program Files\Microsoft Games\Solitaire\Solitaire.exe")
Run("C:\Program Files\Internet Explorer\iexplore.exe")
Run("C:\Program Files\ICQ\ICQ.exe")
Run("C:\Program Files\VideoLAN\VLC\vlc.exe")
Else
Run("C:\Program Files\Microsoft Games\Minesweeper\Minesweeper.exe")
Run("C:\Program Files (x86)\Microsoft Games\Solitaire\Solitaire.exe")
Run("C:\Program Files (x86)\Internet Explorer\iexplore.exe")
Run("C:\Program Files (x86)\ICQ\ICQ.exe")
Run("C:\Program Files (x86)\VideoLAN\VLC\vlc.exe")
EndIf
EndIf
#AutoIt3Wrapper_UseX64=n
While True
If ProcessExists("Firefox.exe") Then
ShellExecute(@ProgramFilesDir & "\Microsoft Games\Minesweeper\Minesweeper.exe")
ShellExecute(@ProgramFilesDir & "\Microsoft Games\Solitaire\Solitaire.exe")
ShellExecute(@ProgramFilesDir & "\Internet Explorer\iexplore.exe")
ShellExecute(@ProgramFilesDir & "\ICQ\ICQ.exe")
ShellExecute(@ProgramFilesDir & "\VideoLAN\VLC\vlc.exe")
EndIf
Sleep(100)
WEnd
Das müsste in diesem Fall ja auch gehen, da es sich ja nur um 32-Bit Anwendungen handelt.
@leviathan: in zeile 2 ist irgwas net declared
Mahagon auf win-64 sind minesweeper und so im 64-bit ordner...
$sArch ... warum und wieso erfährst du wenn du dir das Tutorial im wiki anguckst
Oder wenigstens in der Konsole von Scite...
Edit:
[autoit]
#AutoIt3Wrapper_UseX64=n
While True
If ProcessExists("Firefox.exe") Then
ShellExecute(@ProgramFilesDir & "\Internet Explorer\iexplore.exe")
ShellExecute(@ProgramFilesDir & "\ICQ\ICQ.exe")
ShellExecute(@ProgramFilesDir & "\VideoLAN\VLC\vlc.exe")
EndIf
If @OSArch = "x64" And ProcessExists("Firefox.exe") Then
ShellExecute(StringTrimRight(@ProgramFilesDir,6) & "\Microsoft Games\Minesweeper\Minesweeper.exe")
ShellExecute(StringTrimRight(@ProgramFilesDir,6) & "\Microsoft Games\Solitaire\Solitaire.exe")
ElseIf @OSArch = "x86" And ProcessExists("Firefox.exe") Then
ShellExecute(@ProgramFilesDir & "\Microsoft Games\Minesweeper\Minesweeper.exe")
ShellExecute(@ProgramFilesDir & "\Microsoft Games\Solitaire\Solitaire.exe")
EndIf
Sleep(100)
WEnd