捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >API档案 > 正文
26 2017.05

WM_SYSCOMMAND 消息

点击次数:1386 更新时间:2017-5-26 20:07:27  【打印此页

消息含义:

当用户从窗口菜单(前身叫做系统菜单或控制菜单)选择一个命令或者当用户选择最大化按钮,最小化按钮,恢复按钮或关闭按钮时,消息接收窗口便会收到这种消息。


消息定义:

#define WM_SYSCOMMAND   0x0104


参数解析:

wParam:指定被请求的系统命令的类型,可以是下列值中的一个。

含义

SC_CLOSE(0xF060)

关闭窗口

SC_CONTEXTHELP(0xF180)

将鼠标光标改变为一个带有指针的问号。如果用户单击对话框中的控件,这个控件将会接受到一条 WM_HELP 消息

SC_DEFAULT(0xF160)

选择默认菜单项;用户双击窗口菜单

SC_HOTKEY(0xF150)

激活与该应用程序指定热键关联的窗口,lParam 参数标识要激活的窗口

SC_HSCROLL(0xF080)

水平滚动

SCF_ISSECURE(0x00000001)

指示屏幕保护程序是否是安全的

SC_KEYMENU(0xF100)

将窗口菜单作为一个按键的结果;更多有关信息请参见备注部分

SC_MAXIMIZE(0xF030)

将窗口最大化

SC_MINIMIZE(0xF020)

将窗口最小化

SC_MONITORPOWER(0xF170)

1. 设置显示的状态
2. 此命令支持具有节电功能特性的设备,如电池供电的个人计算机

SC_MOUSEMENU(0xF090)

将窗口菜单作为一个鼠标单击的结果

SC_MOVE(0xF010)

移动窗口

SC_NEXTWINDOW(0xF040)

移动到下一个窗口

SC_PREVWINDOW(0xF050)

移动到上一个窗口

SC_RESTORE(0xF120)

将窗口恢复到正常的位置和大小

SC_SCREENSAVE(0xF140)

执行在 System.ini 文件的 [boot] 段指定的屏幕保护程序

SC_SIZE(0xF000)

改变窗口的大小

SC_TASKLIST(0xF130)

激活开始菜单

SC_VSCROLL(0xF070)

垂直滚动


lParam

在屏幕坐标中,如果用鼠标选择窗口菜单命令。lParam 的低位字指定指针的水平位置,否则,不使用此参数。
        
在屏幕坐标中,如果用鼠标选择窗口菜单命令。lParam 的高位字指定指针的垂直位置,如果一个命令是通过系统加速器选择的,那么这个参数值为 -1,如果是通过助记符选择的,则为 0。


返回值:

如果处理这个消息,应用程序应该返回 0。


备注:

1. 使用下面的代码来获取屏幕坐标中的位置坐标:

xPos = GET_X_LPARAM(lParam);    // 水平位置 
yPos = GET_Y_LPARAM(lParam);    // 垂直位置


2. DefWindowProc 函数以预定义的行为执行上表中指定的窗口菜单请求。

3. 在 WM_SYSCOMMAND 消息中,wParam 的四个低序位是由系统内部使用的,当测试 wParam 的值时,为了获取正确的结果,应用程序必须将 0xFFF0 和 wParam 的值进行按位 AND 操作。

4. 使用 GetSystemMenu, AppendMenu, InsertMenu, ModifyMenu, InsertMenuItem 和 SetMenuItemInfo 函数能够修改窗口菜单中的菜单项,修改窗口菜单的应用程序必须处理 WM_SYSCOMMAND 消息。

5. 应用程序可以在任何时间通过传递一个 WM_SYSCOMMANG 消息给 DefWindowProc 来执行系统命令,任何没有被程序处理的 WM_SYSCOMMAND 消息必须传递给 DefWindowProc。由应用程序添加任何命令值必须由应用程序处理,并且不能被传递给 DefWindowProc。

6. 如果启用密码保护策略,无论应用程序对 SC_SCREENSAVE 通知做什么处理——甚至未能将其传递给 DefWindowProc,屏幕保护程序都会启动。

7. 被定义从窗口菜单选取菜单项的加速键会被转换成 WM_SYSCOMMAD 消息,其他的加速键按键消息将被转换为 WM_COMMAND 消息。

8. 如果 wParam 值为 SC_KEYMENU,lParam 参数会包含与 ALT 键一同使用来显示弹出式菜单的
键的字符代码。例如,按 ALT + F 来显示文件弹出式菜单将会引发一个 WM_SYSCOMMAND 消息,其中 wParam 等于 SC_KEYMENU,lParam 等于 'f'。


需求:

最小支持客户端

Windows 2000 专业版 [仅桌面应用程序]

最小支持服务器端

Windows 2000 服务器版 [仅桌面应用程序]

头文件

Winuser.h(包含于 Windows.h)



 

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1386 更新时间:2017-5-26 20:07:27  【打印此页

上一条:WM_KEYUP

下一条:WM_SYSKEYDOWN 消息

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修