【发布时间】:2013-03-13 18:00:58
【问题描述】:
是否可以使用 Windows 服务模拟按键?例如,假设我有一个在后台运行的服务,只要发生触发器,例如触发器可能是下午 2:00,然后我会例如按窗口键 + L 来锁定计算机。这在 C# 中是否可行?
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
-
无论您采用何种方法,您都可能需要让系统服务在用户会话中启动子进程。可能有用的 API 调用包括 WTSGetActiveConsoleSessionId、WTSQueryUserToken 和 CreateProcessAsUser。 (理论上另一种选择是使用设备驱动程序,但这更加复杂。)
标签: c# windows windows-services