C ++:远程休眠PC

时间:2014-11-15 16:00:04

标签: c++ windows winapi shutdown

如何通过我的局域网从另一台PC暂停运行Windows 7或8的Windows计算机? 是否有WinAPI函数?或者我是否必须发送特殊的魔法包或类似的东西? 我所知道的是PsShutdown.exe能够做到(据称。我还没试过)。

我不想使用第三方库,我也不想在应该休眠的计算机上运行服务。我想使用现有的机制。

我还想知道是否需要更改目标计算机上的特定设置。 我不确定这是否重要,但shutdown /s /m \\ComputerName无法在我的目标PC上运行。

2 个答案:

答案 0 :(得分:0)

TechNet文档Restart or Shut Down a Remote Computer and Document the Reason描述了对远程计算机使用shutdown.exe命令的要求。

  1. 要使用此功能,必须在远程计算机上启用Remote Registry service

  2. 访问远程注册表或远程计算机上管理员组的成员身份是完成此过程所需的最低要求

答案 1 :(得分:0)

据我所知,远程休眠计算机的唯一方法是使用psshutdown执行的相同方法:将可执行文件复制到远程计算机并将其安装为系统服务。

OpenSCManager API允许您指定目标计算机,您可以使用它返回的句柄来调用CreateService,然后调用StartService。该服务可以在完成工作后自行删除。