如何锁定工作站

来源:互联网 发布:在淘宝上如何买东西 编辑:程序博客网 时间:2024/04/28 18:44

如何锁定工作站    
   
  使用LockWorkStation函数即可锁定工作站。系统会显示一个锁定对话框,告诉用户此工作站正在使用并且已经被锁定,

可以被执行锁定的用户或管理员解锁,解锁的方式是按下CTRL_ALT_DEL并用正确的帐号和密码登陆。  
   
  LockWorkStation函数成功调用的条件是:  
   
  调用者必须是运行在系统交互桌面上的一般进程。   
 
  必须已经有用户登陆到系统    

  工作站未被锁定。  

  接受关闭通知
  
  拥有正常窗口和消息队列的程序通过WM_QUERYENDSESSION或WM_ENDSESSION消息获得关闭通知。
 
  控制台则是在其控制流程(Handle   Routines)里接受关闭通知。要注册一个控制台控制流程,应该使用SetConsoleCtrlHandler函数  

  服务程序在其控制流程里接受退出通知。要注册一个服务控制流程,应该使用RegisterServiceCtrlHandlerEx函数。
  
  关闭系统函数列表    
  函数名                  函数功能描述    
  AbortSystemShutdown          取消由InitSystemShutdown引起的系统关闭操作  
  ExitWindows              注销当前用户  
  ExitWindowsEx             注销用户,关闭计算机,关闭计算机并且重启  
  InitiateSystemShutdown           发起关闭系统操作,可以选择关闭后重启  
  InitiateSystemShutdownEx          同InitiateSystemShutdown,扩展的功能是可以在系统  
                                  事件日志(事件号6006)中写入一个用户指定的双字节码  
  LockWorkStation            锁定工作站  
  系统关闭消息    
  WM_ENDSESSION  
  wParam    
  表示是否要终止程序。如果是TRUE,指令该程序终止,否则是FALSE  
  lParam    
  表示用户注销还是系统被关闭。如果此参数包含ENDSESSION_LOGOFF(lParam在这里是按位取值的)位,则表示是用户注销  
  Windows   2000   以及后续版本:如果lParam   ==0,则表示系统被关闭。  
  程序收到此消息,如果wParam为TRUE,在完成消息处理后,程序随时都有可能被关闭。所以在此消息的处理过程里,应该尽量完成程序销毁前所需要进行的工作。  
  WM_QUERYENDSESSION    
  wParam    
  保留,未使用  
  lParam    
  同WM_ENDSESSION;  
  DefWindowProc默认返回:TRUE

原创粉丝点击