如果在唤醒Windows后需要登录,我该怎么办?

时间:2017-10-01 17:53:36

标签: c# .net windows winforms

一个小故事: 我正在开发一个WinForms应用程序,它将Windows从睡眠状态唤醒(PowerState.Suspend)。它会创建一个计划任务(taskschd.msc),并在触发计算机时将其唤醒。我可以成功唤醒Windows,但问题是它是否在Windows 10中将“要求登录”选项设置为“当PC从睡眠状态唤醒”时询问用户凭据。设置>帐户>醒来后登录选项。

问题:如何在Require sign-in中检索Windows 10 > Settings > Accounts > Sign-in options的值?

Image of that setting

enter image description here

可能的解决方案:

  • 使用命令行工具powercfg.exe
  • 检索该信息
  • 检查HKEY_CURRENT_USER\Control Panel\PowerCfg\GlobalPowerPolicy\Policies
  • 中的注册表项
  • 在System32中使用外部库powrprof.dll(由于限制而无法发布其链接)

我尝试使用导入powrprof.dll来实现它,但我不能。

注意:我的程序需要主动登录用户。所以使用Windows服务似乎不是一种选择。

1 个答案:

答案 0 :(得分:0)

我成功地实现了我想要的。我使用了来自powprof.dllgit tag something-deploy-v20171004 git push --tags PowerGetActiveScheme()个函数。以下是我如何实现它:

PowerReadDCValueIndex()