如何休眠一台Windows机器,它可以从另一台PC通过局域网运行Windows 7或8?
是否有WinAPI功能?或者我必须发送特殊的魔术包或类似的东西?
我所知道的是,PsShutdown.exe能够做到这一点(据称,我没有尝试过)。C++:远程休眠PC
我不想使用第三方库,我也不想在应该休眠的计算机上运行服务。我想使用现有的机制。
我还想知道是否需要更改目标计算机上的特定设置。 我不确定这是否重要,但shutdown /s /m \\ComputerName
在我的目标PC上无法正常工作。
你误解了两件事。首先,我想使用一个API函数,COM或类似的,其次我想休眠我的目标PC,而不是关闭它或重新启动它。 shutdown.exe的问题在于,它是一个专门的exe文件,这意味着性能会非常糟糕,特别是在重复运行时,以及对远程PC没有任何休眠和控制时。 – Forivin
['InitiateShutdown'](http://msdn.microsoft.com/en-us/library/windows/desktop/aa376872(v = vs.85).aspx)API函数看起来像API'shutdown.exe'基于它有许多相同的标志。我想你会发现上面列出的要求可以保证你是直接使用API还是通过shutdown.exe来使用API(并且我不能真正理解你的“疯狂糟糕的性能”评论 - 你会多久无论如何这样做?)。 –
可能无法使用标准API远程休眠,这可能是为什么'shutdown.exe'不提供该选项。 'PsShutdown'似乎可以通过它的管理员共享将程序复制到远程计算机上工作,至少在'PsShutdown'页面链接的Windows IT Pro文章中描述了这一点。 –