2012-11-10 109 views
5

我在C#,.NET Framework 3.5(在VS 2010中)中有一个Windows窗体应用程序,并且我需要一旦安装该应用程序,此应用程序在Windows返回时启动即使用户需要输入密码(在这种情况下,用户登录后),也可以从睡眠模式(即应用程序完全关闭并且不在后台运行)中启动。当Windows从睡眠模式唤醒时启动应用程序

+0

我从来没有在后台与服务和应用程序合作过,我认为这很重要。 –

回答

5

您将需要运行一个应用程序来捕捉事件,但它不一定是完整的应用程序 - 您可以设置一个应用程序,它所做的就是通过打开其他应用程序来响应该事件:

Microsoft.Win32.SystemEvents.PowerModeChanged += this.SystemEvents_PowerModeChanged; 

private void SystemEvents_PowerModeChanged(object sender, Microsoft.Win32.PowerModeChangedEventArgs e) 
{ 
    if (e.Mode == PowerModes.Resume) 
    { 
     //Execute your "payload" app here. 
    } 
} 

没有后台服务运行,我不认为有一个内置的挂钩在Windows中。

+0

我撒谎 - 有一个钩子:http://stackoverflow.com/questions/4693689/how-to-programmatically-detect-when-the-os-windows-is-waking-up-or-going-to-sl尽管我不确定如何以编程方式将其设置在安装程序或应用程序初始化中。 – lukiffer

相关问题