栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

win32 捕获锁屏消息

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

win32 捕获锁屏消息

参考:

https://docs.microsoft.com/en-us/windows/win32/termserv/wm-wtssession-change

https://docs.microsoft.com/en-us/windows/win32/api/wtsapi32/nf-wtsapi32-wtsregistersessionnotification

1. 注册,一般在创建窗口的时候调用注册,销毁窗口的时候反注册。

BOOL
WINAPI
WTSRegisterSessionNotification(
    HWND hWnd,
    DWORD dwFlags
    );

BOOL
WINAPI
WTSUnRegisterSessionNotification(
    HWND hWnd
    );

2.在消息循环中添加对WM_WTSSESSION_CHANGE消息的处理.

我是这样用的:

LRESULT Demo::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	switch (message)
	{
	case WM_CREATE:
	{
		WTSRegisterSessionNotification(hWnd, NOTIFY_FOR_THIS_SESSION);
	}
	break;
	case WM_DESTROY:
	{
		WTSUnRegisterSessionNotification(hWnd);
	}
	break;
	case WM_WTSSESSION_CHANGE:
	{
		switch (wParam)
		{
		case WTS_SESSION_LOCK:
		{
			//锁屏
		}
		break;
		case WTS_SESSION_UNLOCK:
		{
			//解锁
		}
		break;
		default:
			break;
		}
	}
	break;
	default:
		return DefWindowProc(hWnd, message, wParam, lParam);
	}
	return 0;
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923133.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号