我要在vista 下用户快速切换的时候对程序进行一下处理,请问各位大侠vista在进行用户的快速切换的时候会发送什么消息,或是在程序中该怎么处理? 我用的是vc++ ,谢谢!

解决方案 »

  1.   

    http://topic.csdn.net/t/20050519/18/4020423.html
      

  2.   

    非常感谢 superlym2005,^_^您的回答很有帮助
      

  3.   

    hope_learn: 用户切换的消息在vista下管用吗?我在xp下捕获到了消息,但在vista下运行时却获取不到,能给些建议吗?
      

  4.   

    我的可以的啊:这两步就可以了
    //注册windows  会话的通知消息,用来响应系统的消息
    WTSRegisterSessionNotification(m_hWnd,TRUE);
    DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
      

  5.   

    hope_learn: 我还是不可以啊,我在::OnInitDialog()里添加了WTSRegisterSessionNotification(m_hWnd,TRUE); 
    在DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    case WM_WTSSESSION_CHANGE://WM_WTSSESSION_CHANGE//SERVICE_CONTROL_SESSIONCHANGE
    {
    //MessageBox("WM_WTSSESSION_CHANGE", "Esmile", MB_OK);
    switch(wParam)
    {
    case WTS_SESSION_LOCK://WTS_SESSION_LOCK
    MessageBox("WTS_SESSION_LOCK", "Esmile", MB_OK );
    break;
    default:
    break;
    }
    }
    但在vista下用户切换的时候,还是没有捕获到。我查了相关的文档,说在vista下这样做不行了,用户切换登陆改成服务注册了。
    我不知道你怎么实现的,有具体的代码能发给我看看吗?。我研究了好多天了,我真的很着急需要,谢谢。