我正在开发一个凭据提供程序 (CP),它在 Windows Vista/7 的登录或解锁屏幕上显示一个对话框。只要调用我的凭据提供程序的析构函数,该对话框就会终止。对于解锁或登录等基本场景,该对话框已正确关闭;但是,我遇到了这种情况:
- 锁定计算机:这将显示我的对话框
- 点击“其他凭证”
- 点击“切换用户”
在第 3 步之后,创建了一个新对话框(一个新logonUI
进程创建了我的CP),但第 1 步中的对话框仍然存在但隐藏了。我尝试调试,发现loginUI
在步骤1中创建的并没有终止,仍然保留我的CP所以它没有被破坏,然后对话框没有关闭。
我希望一次只存在一个对话框。有什么方法可以要求logonUI
释放我的CP或捕获切换用户事件,以便我可以自行关闭对话框?
我正在使用:Win7 32 位终极版。