C# 新中心身份证读卡器

string stmp;
int i = 0, nRet = 0;
uint[] iBaud = new uint[1];
i = Constant.Syn_FindReader();
Constant.m_iPort = i;
在获取i值调用新中心这个Syn_FindReader()方法的时候是如果读卡器是关闭状态就会出现卡顿,连接上了就不会卡顿,
在本机上测试是没有问题的。无论是关闭状态还是打开状态都不会卡顿
在买回来的二手电脑上重新装了系统就会出现这样的问题。
环境配置一样,对文件的读写权限一致这个是什么问题导致的???

这个与电脑的操作系统有关 安装纯净版的系统就可以解决问题

造成卡顿可能是因为你调用的这个函数是阻塞式的调用.从函数的名字 Syn_FindReader()的Syn也能看出来是同步阻塞调用,而且你是在UI线程调用的这个函数,没有卡顿的是因为你的机器性能好,处理的快没有感觉出来,你可以试试在线程里面去调用这个函数,例如:Thread td = new Thread(()=>{ ....i = Constant.Syn_FindReader(); });td.Start();

一般UI线程的卡顿都是因为一些耗时的操作造成UI线程阻塞,Windows消息无法及时处理造成的,所以同步耗时的操作一定开另外的线程去处理,然后因为UI线程是STA模型的线程,所以如果有用到UI线程所创建的对象的话使用Invoke()或者BeginInvoke()方法回调到UI线程去处理。