Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) PC/SC Get Card UIDSee more SCard ExamplesSends the APDU command to get a card's UID.
integer li_rc oleobject loo_Scard integer li_Success oleobject loo_BdRecv integer li_NumBytes // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Scard = create oleobject // Use "Chilkat_9_5_0.SCard" for versions of Chilkat < 10.0.0 li_rc = loo_Scard.ConnectToNewObject("Chilkat.SCard") if li_rc < 0 then destroy loo_Scard MessageBox("Error","Connecting to COM object failed") return end if // First establish a context to the PC/SC Resource Manager li_Success = loo_Scard.EstablishContext("user") if li_Success = 0 then Write-Debug loo_Scard.LastErrorText destroy loo_Scard return end if // Use your own smart card reader name here. li_Success = loo_Scard.Connect("ACS ACR122 0","shared","no_preference") if li_Success = 0 then Write-Debug loo_Scard.LastErrorText destroy loo_Scard return end if Write-Debug "Connected reader: " + loo_Scard.ConnectedReader Write-Debug "Active protocol: " + loo_Scard.ActiveProtocol Write-Debug "ATR: " + loo_Scard.CardAtr Write-Debug "Reader Status: " + loo_Scard.ReaderStatus // Send the APDU command 0xFF, 0xCA, 0x00, 0x00, 0x00 loo_BdRecv = create oleobject // Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 li_rc = loo_BdRecv.ConnectToNewObject("Chilkat.BinData") li_Success = loo_Scard.TransmitHex(loo_Scard.ActiveProtocol,"FFCA000000",loo_BdRecv,32) if li_Success = 1 then Write-Debug "Received: " + loo_BdRecv.GetEncoded("hex") // The UID is the returned data without the final 2 bytes. li_NumBytes = loo_BdRecv.NumBytes if li_NumBytes > 2 then Write-Debug "UID: " + loo_BdRecv.GetEncodedChunk(0,li_NumBytes - 2,"hex") end if else Write-Debug loo_Scard.LastErrorText end if // Disconnect from this reader. li_Success = loo_Scard.Disconnect("leave") if li_Success = 0 then Write-Debug loo_Scard.LastErrorText end if // Applications should always release the context when finished. li_Success = loo_Scard.ReleaseContext() if li_Success = 0 then Write-Debug loo_Scard.LastErrorText end if destroy loo_Scard destroy loo_BdRecv |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.