Win Api自定义凭据提供程序:Windows登录后调整对话框

时间:2016-09-14 05:59:28

标签: windows winapi visual-c++ dialog credential-providers

我已创建自定义凭据提供程序以使用智能卡登录Windows。当我插入智能卡时,输入图钉的对话框显示为适当的大小,但是一旦我登录系统,每次锁定和解锁系统时,对话框都会调整大小并保持相同的大小。只有在系统重新启动或重新登录后,它才会获得原始大小。

你能帮我理解吗

  1. 为什么在登录后调整坐标大小并在整个用户窗口登录会话中保持大小固定大小?
  2. 如何修复对话框的大小。

1 个答案:

答案 0 :(得分:0)

我已经找到了这个问题的根本原因。

系统的默认dpi具有150%的缩放因子,即dpi值144,但GPO设置覆盖了注册表值LogPixel为96,DesktopDPIOverride为-2(默认情况下应为0)。 所以在登录之前没有应用GPO设置时,应用程序使用值为144的默认dpi,并且对话框很好,但是一旦用户登录到系统,GPO设置用于应用dpi值96,所以对话框用于获取尺寸缩小50%。

要解决此问题,我们会执行以下操作:

1)Create new GPO setting with system Default DPI values
2)Make your application DPI aware