Sample code for 30+ languages & platforms
AutoIt

PC/SC List Smart Card Readers (and USB Tokens)

See more SCard Examples

Demonstrates how to list the smart card readers and USB tokens connected to the computer.

Note: This functionality was introduced in Chilkat v9.5.0.87.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oScard = ObjCreate("Chilkat.SCard")

; First establish a context to the PC/SC Resource Manager
$bSuccess = $oScard.EstablishContext("user")
If ($bSuccess = False) Then
    ConsoleWrite($oScard.LastErrorText & @CRLF)
    Exit
EndIf

$oStReaders = ObjCreate("Chilkat.StringTable")
$bSuccess = $oScard.ListReaders($oStReaders)
If ($bSuccess = False) Then
    ConsoleWrite($oScard.LastErrorText & @CRLF)
    Exit
EndIf

Local $iNumReaders = $oStReaders.Count
Local $i = 0
While $i < $iNumReaders
    ConsoleWrite($i & ": " & $oStReaders.StringAt($i) & @CRLF)
    $i = $i + 1
Wend

; Sample output:
; 0: Alcor Micro USB Smart Card Reader 0
; 1: FS USB Token 0
; 2: FT Java Token 0
; 3: SCM Microsystems Inc. SCR33x USB Smart Card Reader 0
; 4: Yubico YubiKey OTP+FIDO+CCID 0

; Applications should always release the context when finished.
$bSuccess = $oScard.ReleaseContext()
If ($bSuccess = False) Then
    ConsoleWrite($oScard.LastErrorText & @CRLF)
EndIf