2013-03-20 98 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