监测多模式笔记本的模式切换
2016-06-08 16:29
309 查看
监测多模式笔记本的模式切换
现在笔记本越来越多,可分离式,可以折叠成平板式的。。
但是有的是我我们想监听模式切换的event 要怎么做呢?
一种比较简单的方式就是:WM_SETTINGCHANGE message
但是使用这种方法的前提是笔记本的设计要符合微软的规范:
微软设计规范
参考文献
现在笔记本越来越多,可分离式,可以折叠成平板式的。。
但是有的是我我们想监听模式切换的event 要怎么做呢?
一种比较简单的方式就是:WM_SETTINGCHANGE message
Remarks
The lParam parameter indicates which system metric has changed, for example, "ConvertibleSlateMode" if the CONVERTIBLESLATEMODE indicator was toggled or "SystemDockMode" if the DOCKED indicator was toggled.LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; case WM_SETTINGCHANGE: OnSettingsChange(wParam, lParam); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; }
void OnSettingsChange(WPARAM wParam, LPARAM lParam) { if (lParam == NULL) { return; } OutputDebugString(LPTSTR(lParam)); wstring sType = LPTSTR(lParam); if (sType == _T("ConvertibleSlateMode");) { switch (wParam) { case 0: OutputDebugString(_T("tablet mode")); break; case 1: OutputDebugString(_T("Normal mode")); break; default: break; } } }
但是使用这种方法的前提是笔记本的设计要符合微软的规范:
微软设计规范
参考文献
相关文章推荐
- 如何重装TCP/IP协议
- Windows 8 官方高清壁纸欣赏与下载
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows Clang开发环境备忘
- 从Windows系统下访问Linux分区相关软件
- 可以买到 Linux 电脑的 10 个地方
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows下搭建本地SVN服务器
- 使用Windows原生命令一键清空剪贴板
- windows用windeployqt发布qt quick application程序
- 利用开源软件打造自己的全功能远程工具
- Windows 8虚拟机不能全屏的解决方法
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得
- 微软镜像下载
- windows server域用户提升到本地更高权限组中的方法