我写了一个服务程序,监控Windows XP是否已经登陆或已经注销,现在不知道该怎么判断windows已经登陆,请高手指点一下,谢谢!

解决方案 »

  1.   

    EnumDesktops,在EnumDesktopProc回调里面查看第一个参数(字符串),如果名称是“Default”则表明系统已登录了
      

  2.   

    编写程序,让该程序在你要监控的机器上面自动运行。这个程序的主要功能:
    1、开机自启动。
    2、程序启动后,自动连接服务器(也就是你的机器),通过socket对话,你就知道该机器处于登陆状态了,否则为未登陆状态。
      

  3.   

    这个程序最好是不被被控端发现,否则它给你关掉就不能监控了。如果把该程序隐藏起来,用户关机时,程序关闭,发送一个socket消息给服务器端告诉服务器该机器已经注销。
      

  4.   

    可以查找开始彩单任务栏,这样也是种方法,任务栏存在就认为WINDOWS登陆