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")