Autostart von Anwendung

  • Hallo,

    ich habe folgendes Szenario, was ich lösen muss und hoffe, dass mir jemand behilflich sein kann, da ich leider keine bis wenig Erfahrungen habe.

    Komponenten:

    WIndows 7 32-Bit
    Smartcardleser HID Omnikey 5321 CLI V2
    RFID Smartkarte

    Ich möchte, dass sobald die Smartkarte auf dem Leser liegt automatisch Firefox mit entsprechender URL im Kioskmode startet und sich wieder schließt sobald die Karte entfernt wird. Dazu habe ich was in einem anderen Forum gefunden, kann es aber leider nicht für meine zwecke anpassen.

    Ich danke schon mal im voraus und bin für jede Hilfe dankbar.

    Folgende der Forumeintrag:

    Hab heute mal wieder etwas rumgefummelt, weil bei uns zeitgleich alle Windows-Rechner zeitgleich den Geist aufgegeben haben. Dabei bein ich auf die Idee gekommen, dass man Hardwaregebundene Installationen ja nicht unbedingt händisch im CI oder sonstwie auswählen muss. Das Programm "devcon" ist ein Geräte-Manager auf Kommandozeilenebene, der wird von meinen Programm befragt, ob Hardware mit der eingegebenen Hardwarekennung angeschlossen IST (nicht war) und bei positiven Ergebnis wird ein weiteres Programm gestartet z.B. Setpoint o.ä.


    Die Hardwarekennung(en) lässt/lassen sich über System --> Hardware --> Geräte-Manager --> "Gerät" --> Eigenschaften --> Details --> Hardwarekennungen herausfinden


    Syntax:

    sDevcon.exe "Hardwarekennung" "Meine.exe"[ w]

    Beim Hinzufügen eines dritte Parameters wartet sDefcon mit dem Beenden solange, bis das aufgerufene Programm beendet ist, hierfür kann man ein beliebiges Argument einsetzen

    Quellcode

    If $CmdLine[0] < 2 Then Exit
    If @OSArch == "IA64" Then
    FileInstall("C:\Dokumente und Einstellungen\x\Desktop\Devcon\ia64\devcon.exe", @TempDir & "\devcon.exe")
    Else
    FileInstall("C:\Dokumente und Einstellungen\x\Desktop\Devcon\i386\devcon.exe", @TempDir & "\devcon.exe")
    EndIf
    $PID = Run(@TempDir & '\devcon.exe find "' & $CmdLine[1] & '"', @TempDir, @SW_HIDE, 0x1 + 0x2)
    $Data = ""
    While True
    $Data &= StdoutRead($PID)
    If @error Then ExitLoop
    Sleep(25)
    WEnd
    If StringRegExp($Data, "\d+ matching device\(s\) found.", 0) Then
    If $CmdLine[0] = 3 Then
    RunWait($CmdLine[2])
    Else
    Run($CmdLine[2])
    EndIf
    EndIf
    FileDelete(@TempDir & "\devcon.exe")