Mein erster Skript/Eine Wette ums Recht

  • X86 ist 32Bit und X64 64Bit ;)
    Mit File Copy müsste es so aussehen:

    [autoit]

    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

    [/autoit]

    Dann kopiert sich das Scirpt nur dann in den Autostart wenn es Compiled und noch nicht im autostart ist.

    Mfg
    monkey

    Monkey - die finale Potenz von göttlich!
    Sloganizer

  • 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

    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:

    [autoit]


    While 1
    TrayTip("Aktuelle Uhrzeit",@HOUR & ":" & @MIN & ":" & @SEC,1)
    Sleep(100)
    Wend

    [/autoit]

    Denkanstoss für @OSArch:

    [autoit]


    $sArch = @OSArch
    If $sArch = ... Then
    ...
    Else
    ...
    Endif

    [/autoit]
  • kann man den pc auch wenn
    [url='http://translation.autoit.de/onlinehilfe/keywords.htm']


    gibt es soetwas wie goto?

  • 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

    [/autoit]

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • [autoit]

    #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

    [/autoit]

    Das müsste in diesem Fall ja auch gehen, da es sich ja nur um 32-Bit Anwendungen handelt.

    21 is only half the truth.

  • @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

    [/autoit][autoit][/autoit][autoit]

    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

    [/autoit]

    21 is only half the truth.

    2 Mal editiert, zuletzt von Mahagon (2. Mai 2010 um 22:45)