大家好,又见面了,我是你们的朋友全栈君。
如何锁定工作站
使用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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162749.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...