嗯,我发现它是如何工作的!
关闭蜂鸣器:
retCode = Card.SCardConnect(hContext, readername, Card.SCARD_SHARE_SHARED,
Card.SCARD_PROTOCOL_T0 | Card.SCARD_PROTOCOL_T1, ref hCard, ref Protocol);
Byte[] setBuzzerLoud = new Byte[6];
setBuzzerLoud[0] = 0xE0;
setBuzzerLoud[1] = 0x00;
setBuzzerLoud[2] = 0x00;
setBuzzerLoud[3] = 0x21;
setBuzzerLoud[4] = 0x01;
setBuzzerLoud[5] = 0x77;
uint pcBytesReturned = 0;
Byte[] RecieveBuff = new Byte[64];
uint controlcode = 3225264;
int status = Card.SCardControl(hCard, controlcode, ref setBuzzerLoud[0], 6, ref RecieveBuff[0], RecieveBuff.Length, ref pcBytesReturned);
MessageBox.Show(status.ToString());
用于关闭 LED:
retCode = Card.SCardConnect(hContext, readername, Card.SCARD_SHARE_SHARED,
Card.SCARD_PROTOCOL_T0 | Card.SCARD_PROTOCOL_T1, ref hCard, ref Protocol);
Byte[] setLEDOFF = new Byte[6];
setLEDOFF[0] = 0xE0;
setLEDOFF[1] = 0x00;
setLEDOFF[2] = 0x00;
setLEDOFF[3] = 0x21;
setLEDOFF[4] = 0x01;
setLEDOFF[5] = 0x79;
uint pcBytesReturned = 0;
Byte[] RecieveBuff = new Byte[64];
uint controlcode = 3225264;
int status = Card.SCardControl(hCard, controlcode, ref setLEDOFF[0], 6, ref RecieveBuff[0], RecieveBuff.Length, ref pcBytesReturned);
MessageBox.Show(status.ToString());
关闭射频:
retCode = Card.SCardConnect(hContext, readername, Card.SCARD_SHARE_SHARED,
Card.SCARD_PROTOCOL_T0 | Card.SCARD_PROTOCOL_T1, ref hCard, ref Protocol);
Byte[] setRFOff = new Byte[6];
setRFOff[0] = 0xE0;
setRFOff[1] = 0x00;
setRFOff[2] = 0x00;
setRFOff[3] = 0x23;
setRFOff[4] = 0x01;
setRFOff[5] = 0x80;
uint pcBytesReturned = 0;
Byte[] RecieveBuff = new Byte[64];
uint controlcode = 3225264;
int status = Card.SCardControl(hCard, controlcode, ref setRFOff[0], 6, ref RecieveBuff[0], RecieveBuff.Length, ref pcBytesReturned);
MessageBox.Show(status.ToString());
有趣的是控制代码,我在其中调试了链接中提到的 c++ 代码,以便为这个智能卡读卡器找到它:
DWORD controlcode = SCARD_CTL_CODE(3500);
转义码写在第 41/77 页。
SCARD_CTL_CODE(3500)
唯一的问题是如何在没有读卡器上的 rfid 的情况下关闭设置。我还找到了一篇文章,其中讨论了更改 USB 参数中的一些注册表项,我也将尝试它。任何可以帮助我的人我都会很高兴。
完毕!享受