Programmstart

  • Hallo, hab erst vor einer Woche mit AutoiT angefangen. Suche ne Möglichkeit verschiedene Programme auf verschiedenen Festplaten zu starten, mit nur einem Script.

    z.B. HD1 40-GB Labelname User1 und HD2 80-GB Labelname User2.

    Wenn HD1 angeschlossen soll Programm-1 Starten, bei HD2 das Programm2. Dachte mir das sollte mit Labelname gehen. Habe das schon hinbekommen das der Labelname ausgegeben wird, aber nicht das verschiedene Programme starten.

    Kann mir jemand dabei weiterhelfen.

  • Hallo.

    Schau mal ob Dir der Befehl: DriveGetSeriall weiter hilft.

    Ich würde es nicht über das Festplattenlabel machen, sondern über die Festplattenseriennummer. Das Label ist schneller veränderbar, die Seriennummer, da gehört schon einiges Wissen dazu.
    Hier ist jedoch da drauf zu achten, das die HDD-Seriennummer Hexadezimal angezeigt wird, Du aber Dezimalangaben brauchst. Hier einfach den Windoof-Taschenrechner auf Wissenschaftlich stellen, dort die hexadezimale Seriennumer eingeben (ohne evtl. Bindestriche) und dann auf Dezimal umschalten. Oder Du rechnest es selber um. Denke daran es ist, ein 16-er System (0-9a-f)

    Haben die Festplatten immer die gleichen Lw-Buchstaben? Wenn ja, welche?

    Gruss, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    2 Mal editiert, zuletzt von Alina (18. August 2007 um 18:41)

  • Hallo. versuche mal folgenden Script.

    [autoit]

    Global $serial = 4851325976 ; hier die Seriennummer von HDD-1

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

    $var = DriveGetSerial( "c:\" )

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

    If $var = $serial Then
    MsgBox(64, 'HDD-1', 'Laufwerk: HDD-1') ; Hier wenn HDD-1 drinne ist
    Else
    MsgBox(16, 'HDD-2', 'Laufwerk: HDD-2') ; Hier wenn HDD-2 drinne ist
    EndIf

    [/autoit]

    1. Zeile die dezimale Seriennummer der HDD-1 anpassen. !!!

    Die dezimale Seriennummer ermittels Du mit folgendem Script:

    [autoit]

    ; seriennummer ermitteln
    $var = DriveGetSerial( "c:\" )
    MsgBox(4096, "Serial Number: ", $var)

    [/autoit]

    Gruss, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    5 Mal editiert, zuletzt von Alina (18. August 2007 um 20:34)

  • Jo Danke dir das war genau das was ich suchte. Noch ne Frage suche für AutoiT soetwas wie unter Batch den PAUSE Befehl. Haber den hier noch nicht gefunden, aber ansonsten ein echt gutes Programm

  • Pause gleich= sleep und danach warten das irgendeine Taste gedrückt wird. aber das glaube gibt es so nicht.

    Gruss, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Moin

    vieleicht suchst du sowas hier...

    [autoit]


    #include <Misc.au3>

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

    MsgBox (0,'','Ab hier läuft dein Script')
    do
    Sleep(10)
    If _IsPressed ('13') = true Then;13 = hex für pause
    pause()
    EndIf
    If _IsPressed ('1B') = true Then;1B = hex für esc
    MsgBox (0,'','ESC gedrückt. Script ende!')
    Exit
    EndIf
    Until 1 = 2

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

    Func pause()
    MsgBox (0,'','Anfang der Pause (Pause) drücken um zu beenden')
    Do
    Sleep(10)
    Until _IsPressed ('13')

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

    MsgBox (0,'','Ende der Pause')
    EndFunc

    [/autoit]

    Wenn dus laufen lässt kommst du mit {pause} in die Pause Funktion und wenn du nochmal Pause drückst kommst du wieder raus....
    Wenn du ESC drückst beendest du das Script

    MFG chris :D