2013-03-20 64 views
1

我使用PCSCConnectorhttp://nobbi.com,最后一次更新 - 2004年4月。 所有工作正常与Windows XP,但与Windows 7一直有一些麻烦。PCSCConnector和Windows 7

当我按下CTRL + F2在Delphi的IDE(终止)和卡连接已经打开我的软件,那么任何软件(包括我自己)无法打开该卡的新连接。我需要物理上重新连接卡(在我的情况下是USB),以便能够创建新的连接。

我尝试SCardEstablishContextSCardDisconnect改变dwScopeSCARD_SCOPE_SYSTEM(从SCARD_SCOPE_USER)和dwDispositionSCARD_LEAVE_CARD(从SCARD_RESET_CARD),但问题仍然存在。

+0

是您的用户会做这个?我用PCSCConnector(虽然它被提炼多年来提示:设法得到它更符合实际规格线),和我没有在卡被锁定的任何问题。如果通过USB进行集成,您似乎没有标准的智能卡。我想通常你有一个读卡器和一张卡,并且连接都是对两者都进行的。 – 2013-03-20 12:59:20

回答

2

当您使用Ctrl + F2,这是一个强有力的终止。没有代码有机会正确地清理,关闭或释放任何东西 - 它只是关闭。您对图书馆退出代码所做的任何更改都不会有帮助,因为它永远不会有机会运行。你通过强行终止应用程序阻止了这种情况的发生。

解决方案:不要使用Ctrl + F2除了失控码之外的任何东西都无法阻止任何其他方式。正常关闭您的应用程序,它应该被关闭的方式,所以它有一个机会来清洗东西,并呼吁finalization码等。

+0

是的,但智能卡可以使用专用连接来连接或不可以。 'SCARD_SCOPE_USER'可能不需要独占连接。当然,一个好的操作系统应该让智能卡再次可用。但是在这方面操作系统是有问题的,或者上下文没有丢失,并且排他性的连接依然存在。 – 2013-03-20 01:02:13

+0

终结不解决,并在Windows XP Ctrl + F2通常感知。 – 2013-03-20 01:02:24

+0

我明确表示“如果您强制应用程序关闭不当,最终效果不起作用”。请阅读我再次写的内容。如果你使用Ctrl + F2,**没有机会正确关闭**。如果你想正确关闭它,**不要使用Ctrl + F2关闭它。 – 2013-03-20 01:09:03