相关疑难解决方法(0)

以编程方式确定锁定工作站的持续时间?

如何在代码中确定机器锁定的时间?

欢迎使用C#以外的其他创意.


我喜欢Windows服务理念(并已接受它)以简化和清洁,但不幸的是,我不认为它在这种特殊情况下对我有用.我想在我的工作站上运行这个,而不是在家里(或者除了家庭之外,我想),但它被国防部严格控制了.实际上,这就是我自己滚动的部分原因.

无论如何我会写下来看看它是否有效.感谢大家!

c# windows

110
推荐指数
5
解决办法
4万
查看次数

检查Windows电源管理是否关闭了显示屏

如果'windows power management'关闭了显示屏,我如何以编程方式检查Windows 7和XP?(如果我能收到一个活动,那会更好.)

c# c++ winapi windows-xp windows-7

7
推荐指数
1
解决办法
6198
查看次数

检查 Windows 当前是否被锁定

我在 Windows 10 Pro x64 ver 1703 build 15063.726 上,尝试编写程序重启服务。它以管理员权限在我的用户下运行,通过计划任务每​​ 10 分钟运行一次。

如果服务器不可用或中断:

  • 如果我的计算机被锁定,重启程序会终止并重新启动服务器程序。
  • 如果我的电脑没有被锁定,重启程序会显示一个对话框来确认重启。我可能正在处理服务器程序并且不希望重新启动破坏任何调试。

唯一的复杂问题是检测计算机是否被锁定。我尝试了几种方法:

  1. 打开输入桌面()

仅当用户在计算机被锁定后开始输入密码时才返回 NULL。除此之外,返回一个有效的句柄。据推测,在用户尝试登录并切换输入之前,不会取消选择输入桌面。

  1. OpenInputDesktop() 与 GetThreadDesktop()

(当然传入 GetCurrentThreadID() )

句柄仍然匹配,可能是由于相同的原因 1 失败。

  1. LockApp.exe/LockAppHost.exe 的进程检查

似乎也与用户输入密码有关……或者因为我的服务器重启应用程序是 32 位的,在读取 64 位进程 LockApp.exe 时遇到问题。

  1. GetForegroundWindow() 锁定时返回 null

虽然提到可疑,但我也试过这个。假阴性,说它没有被锁定

  1. 手动切换桌面并查看它是否有效

这里的代码示例描述,这个也是半身像并给出了错误的否定。

有没有剩下的办法?我真的宁愿没有仅用于注册锁定/解锁不断运行的服务。

或者这些方法中的一种应该已经起作用了,而我的 Windows 被窃听了?

干杯

c# windows process

6
推荐指数
2
解决办法
3884
查看次数

标签 统计

c# ×3

windows ×2

c++ ×1

process ×1

winapi ×1

windows-7 ×1

windows-xp ×1