获得系统中鼠标支持的键数(两键或三键),首先在程序中做如下定义: 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的值则鼠标左右键交换,否则没有。