打印本文 打印本文  关闭窗口 关闭窗口  
获得系统中鼠标的键数
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:48:09  文章录入:杜斌  责任编辑:杜斌

获得系统中鼠标支持的键数(两键或三键),首先在程序中做如下定义: 
Declare Function GetSystemMetrics Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long 
Public Const SM_CMOUSEBUTTONS = 43 
然后在程序中调用 GetSystemMetrics 函数 
number& = GetSystemMetrics(SM_CMOUSEBUTTONS) 
返回值为系统支持的鼠标键数(返回 0 ,则系统中没有安装鼠标) 
下面是 GetSystemMetrics 函数参数 nIndex 的定义: 
SM_ARRANGE Flags specifying how the system arranged minimized windows. For more information about minimized windows, see the following Remarks section. 
SM_CLEANBOOT 返回系统启动方式: 
0 正常启动 
1 安全模式启动 
2 网络安全模式启动 
SM_CMOUSEBUTTONS 返回值为系统支持的鼠标键数,返回 0 ,则系统中没有安装鼠标。 
SM_CXBORDER, 
SM_CYBORDER 返回以相素值为单位的 Windows 窗口边框的宽度和高度,如果 Windows 的为 3D 形态,则等同于 SM_CXEDGE 参数 
SM_CXCURSOR, 
SM_CYCURSOR 返回以相素值为单位的标准光标的宽度和高度 
SM_CXDLGFRAME, 
SM_CYDLGFRAME 等同与 SM_CXFIXEDFRAME and SM_CYFIXEDFRAME 
SM_CXDOUBLECLK, 
SM_CYDOUBLECLK 以相素值为单位的双击有效的矩形区域 
SM_CXEDGE,SM_CYEDGE 以相素值为单位的 3D 边框的宽度和高度 
SM_CXFIXEDFRAME, 
SM_CYFIXEDFRAME 围绕具有标题但无法改变尺寸的窗口(通常是一些对话框)的边框的厚度 
SM_CXFRAME,SM_CYFRAME 等同于 SM_CXSIZEFRAME and SM_CYSIZEFRAME 
SM_CXFULLSCREEN, 
SM_CYFULLSCREEN 全屏幕窗口的窗口区域的宽度和高度 
SM_CXHSCROLL, 
SM_CYHSCROLL 水平滚动条的高度和水平滚动条上箭头的宽度 
SM_CXHTHUMB 以相素为单位的水平滚动条上的滑动块宽度 
SM_CXICON,SM_CYICON 系统缺省的图标的高度和宽度(一般为 32*32 ) 
SM_CXICONSPACING, 
SM_CYICONSPACING 以大图标方式查看 Item 时图标之间的间距,这个距离总是大于等于 
SM_CXICON and SM_CYICON. 
SM_CXMAXIMIZED, 
SM_CYMAXIMIZED 处于顶层的最大化窗口的缺省尺寸 
SM_CXMAXTRACK, 
SM_CYMAXTRACK 具有可改变尺寸边框和标题栏的窗口的缺省最大尺寸,如果窗口大于这个尺寸,窗口是不可移动的 
SM_CXMENUCHECK, 
SM_CYMENUCHECK 以相素为单位计算的菜单选中标记位图的尺寸 
SM_CXMENUSIZE, 
SM_CYMENUSIZE 以相素计算的菜单栏按钮的尺寸 
SM_CXMIN,SM_CYMIN 窗口所能达到的最小尺寸 
SM_CXMINIMIZED, 
SM_CYMINIMIZED 正常的最小化窗口的尺寸 
SM_CXMINTRACK, 
SM_CYMINTRACK 最小跟踪距离,当使用者拖动窗口移动距离小于这个值,窗口不会移动 
SM_CXSCREEN, 
SM_CYSCREEN 以相素为单位计算的屏幕尺寸。 
SM_CXSIZE,SM_CYSIZE 以相素计算的标题栏按钮的尺寸 
SM_CXSIZEFRAME, 
SM_CYSIZEFRAME 围绕可改变大小的窗口的边框的厚度 
SM_CXSMICON, 
SM_CYSMICON 以相素计算的小图标的尺寸,小图标一般出现在窗口标题栏上 
M_CXVSCROLL, 
SM_CYVSCROLL 以相素计算的垂直滚动条的宽度和垂直滚动条上箭头的高度 
SM_CYCAPTION 以相素计算的普通窗口标题的高度 
SM_CYMENU 以相素计算的单个菜单条的高度 
SM_CYSMCAPTION 以相素计算的窗口小标题栏的高度 
SM_CYVTHUMB 以相素计算的垂直滚动条中滚动块的高度 
SM_DBCSENABLED 如果为 TRUE 或不为 0 的值表明系统安装了双字节版本的 USER.EXE, 为 FALSE 或 0 则不是 
SM_DEBUG 如果为 TRUE 或不为 0 的值表明系统安装了 debug 版本的 USER.EXE, 为 FALSE 或 0 则不是 
SM_MENUDROPALIGNMENT 如果为 TRUE 或不为 0 的值下拉菜单是右对齐的否则是左对齐的 
SM_MOUSEPRESENT 如果为 TRUE 或不为 0 的值则安装了鼠标,否则没有安装 
SM_MOUSEWHEELPRESENT 如果为 TRUE 或不为 0 的值则安装了滚轮鼠标,否则没有安装 (Windows NT only) 


SM_SWAPBUTTON 如果为 TRUE 或不为 0 的值则鼠标左右键交换,否则没有 
打印本文 打印本文  关闭窗口 关闭窗口