獲得系統(tǒng)中鼠標(biāo)支持的鍵數(shù)(兩鍵或三鍵),首先在程序中做如下定義:
Declare Function GetSystemMetrics Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
Public Const SM_CMOUSEBUTTONS = 43
然后在程序中調(diào)用 GetSystemMetrics 函數(shù)
number& = GetSystemMetrics(SM_CMOUSEBUTTONS)
返回值為系統(tǒng)支持的鼠標(biāo)鍵數(shù)(返回 0 ,則系統(tǒng)中沒有安裝鼠標(biāo))
下面是 GetSystemMetrics 函數(shù)參數(shù) nIndex 的定義:
SM_ARRANGE Flags specifying how the system arranged minimized windows. For more information about minimized windows, see the following Remarks section.
SM_CLEANBOOT 返回系統(tǒng)啟動(dòng)方式:
0 正常啟動(dòng)
1 安全模式啟動(dòng)
2 網(wǎng)絡(luò)安全模式啟動(dòng)
SM_CMOUSEBUTTONS 返回值為系統(tǒng)支持的鼠標(biāo)鍵數(shù),返回 0 ,則系統(tǒng)中沒有安裝鼠標(biāo)。
SM_CXBORDER,
SM_CYBORDER 返回以相素值為單位的 Windows 窗口邊框的寬度和高度,如果 Windows 的為 3D 形態(tài),則等同于 SM_CXEDGE 參數(shù)
SM_CXCURSOR,
SM_CYCURSOR 返回以相素值為單位的標(biāo)準(zhǔn)光標(biāo)的寬度和高度
SM_CXDLGFRAME,
SM_CYDLGFRAME 等同與 SM_CXFIXEDFRAME and SM_CYFIXEDFRAME
SM_CXDOUBLECLK,
SM_CYDOUBLECLK 以相素值為單位的雙擊有效的矩形區(qū)域
SM_CXEDGE,SM_CYEDGE 以相素值為單位的 3D 邊框的寬度和高度
SM_CXFIXEDFRAME,
SM_CYFIXEDFRAME 圍繞具有標(biāo)題但無法改變尺寸的窗口(通常是一些對話框)的邊框的厚度
SM_CXFRAME,SM_CYFRAME 等同于 SM_CXSIZEFRAME and SM_CYSIZEFRAME
SM_CXFULLSCREEN,
SM_CYFULLSCREEN 全屏幕窗口的窗口區(qū)域的寬度和高度
SM_CXHSCROLL,
SM_CYHSCROLL 水平滾動(dòng)條的高度和水平滾動(dòng)條上箭頭的寬度
SM_CXHTHUMB 以相素為單位的水平滾動(dòng)條上的滑動(dòng)塊寬度
SM_CXICON,SM_CYICON 系統(tǒng)缺省的圖標(biāo)的高度和寬度(一般為 32*32 )
SM_CXICONSPACING,
SM_CYICONSPACING 以大圖標(biāo)方式查看 Item 時(shí)圖標(biāo)之間的間距,這個(gè)距離總是大于等于
SM_CXICON and SM_CYICON.
SM_CXMAXIMIZED,
SM_CYMAXIMIZED 處于頂層的化窗口的缺省尺寸
SM_CXMAXTRACK,
SM_CYMAXTRACK 具有可改變尺寸邊框和標(biāo)題欄的窗口的缺省尺寸,如果窗口大于這個(gè)尺寸,窗口是不可移動(dòng)的
SM_CXMENUCHECK,
SM_CYMENUCHECK 以相素為單位計(jì)算的菜單選中標(biāo)記位圖的尺寸
SM_CXMENUSIZE,
SM_CYMENUSIZE 以相素計(jì)算的菜單欄按鈕的尺寸
SM_CXMIN,SM_CYMIN 窗口所能達(dá)到的最小尺寸
SM_CXMINIMIZED,
SM_CYMINIMIZED 正常的最小化窗口的尺寸
SM_CXMINTRACK,
SM_CYMINTRACK 最小跟蹤距離,當(dāng)使用者拖動(dòng)窗口移動(dòng)距離小于這個(gè)值,窗口不會(huì)移動(dòng)
SM_CXSCREEN,
SM_CYSCREEN 以相素為單位計(jì)算的屏幕尺寸。
SM_CXSIZE,SM_CYSIZE 以相素計(jì)算的標(biāo)題欄按鈕的尺寸
SM_CXSIZEFRAME,
SM_CYSIZEFRAME 圍繞可改變大小的窗口的邊框的厚度
SM_CXSMICON,
SM_CYSMICON 以相素計(jì)算的小圖標(biāo)的尺寸,小圖標(biāo)一般出現(xiàn)在窗口標(biāo)題欄上
M_CXVSCROLL,
SM_CYVSCROLL 以相素計(jì)算的垂直滾動(dòng)條的寬度和垂直滾動(dòng)條上箭頭的高度
SM_CYCAPTION 以相素計(jì)算的普通窗口標(biāo)題的高度
SM_CYMENU 以相素計(jì)算的單個(gè)菜單條的高度
SM_CYSMCAPTION 以相素計(jì)算的窗口小標(biāo)題欄的高度
SM_CYVTHUMB 以相素計(jì)算的垂直滾動(dòng)條中滾動(dòng)塊的高度
SM_DBCSENABLED 如果為 TRUE 或不為 0 的值表明系統(tǒng)安裝了雙字節(jié)版本的 USER.EXE, 為 FALSE 或 0 則不是
SM_DEBUG 如果為 TRUE 或不為 0 的值表明系統(tǒng)安裝了 debug 版本的 USER.EXE, 為 FALSE 或 0 則不是
SM_MENUDROPALIGNMENT 如果為 TRUE 或不為 0 的值下拉菜單是右對齊的否則是左對齊的
SM_MOUSEPRESENT 如果為 TRUE 或不為 0 的值則安裝了鼠標(biāo),否則沒有安裝
SM_MOUSEWHEELPRESENT 如果為 TRUE 或不為 0 的值則安裝了滾輪鼠標(biāo),否則沒有安裝 (Windows NT only)
Declare Function GetSystemMetrics Lib "user32" Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long
Public Const SM_CMOUSEBUTTONS = 43
然后在程序中調(diào)用 GetSystemMetrics 函數(shù)
number& = GetSystemMetrics(SM_CMOUSEBUTTONS)
返回值為系統(tǒng)支持的鼠標(biāo)鍵數(shù)(返回 0 ,則系統(tǒng)中沒有安裝鼠標(biāo))
下面是 GetSystemMetrics 函數(shù)參數(shù) nIndex 的定義:
SM_ARRANGE Flags specifying how the system arranged minimized windows. For more information about minimized windows, see the following Remarks section.
SM_CLEANBOOT 返回系統(tǒng)啟動(dòng)方式:
0 正常啟動(dòng)
1 安全模式啟動(dòng)
2 網(wǎng)絡(luò)安全模式啟動(dòng)
SM_CMOUSEBUTTONS 返回值為系統(tǒng)支持的鼠標(biāo)鍵數(shù),返回 0 ,則系統(tǒng)中沒有安裝鼠標(biāo)。
SM_CXBORDER,
SM_CYBORDER 返回以相素值為單位的 Windows 窗口邊框的寬度和高度,如果 Windows 的為 3D 形態(tài),則等同于 SM_CXEDGE 參數(shù)
SM_CXCURSOR,
SM_CYCURSOR 返回以相素值為單位的標(biāo)準(zhǔn)光標(biāo)的寬度和高度
SM_CXDLGFRAME,
SM_CYDLGFRAME 等同與 SM_CXFIXEDFRAME and SM_CYFIXEDFRAME
SM_CXDOUBLECLK,
SM_CYDOUBLECLK 以相素值為單位的雙擊有效的矩形區(qū)域
SM_CXEDGE,SM_CYEDGE 以相素值為單位的 3D 邊框的寬度和高度
SM_CXFIXEDFRAME,
SM_CYFIXEDFRAME 圍繞具有標(biāo)題但無法改變尺寸的窗口(通常是一些對話框)的邊框的厚度
SM_CXFRAME,SM_CYFRAME 等同于 SM_CXSIZEFRAME and SM_CYSIZEFRAME
SM_CXFULLSCREEN,
SM_CYFULLSCREEN 全屏幕窗口的窗口區(qū)域的寬度和高度
SM_CXHSCROLL,
SM_CYHSCROLL 水平滾動(dòng)條的高度和水平滾動(dòng)條上箭頭的寬度
SM_CXHTHUMB 以相素為單位的水平滾動(dòng)條上的滑動(dòng)塊寬度
SM_CXICON,SM_CYICON 系統(tǒng)缺省的圖標(biāo)的高度和寬度(一般為 32*32 )
SM_CXICONSPACING,
SM_CYICONSPACING 以大圖標(biāo)方式查看 Item 時(shí)圖標(biāo)之間的間距,這個(gè)距離總是大于等于
SM_CXICON and SM_CYICON.
SM_CXMAXIMIZED,
SM_CYMAXIMIZED 處于頂層的化窗口的缺省尺寸
SM_CXMAXTRACK,
SM_CYMAXTRACK 具有可改變尺寸邊框和標(biāo)題欄的窗口的缺省尺寸,如果窗口大于這個(gè)尺寸,窗口是不可移動(dòng)的
SM_CXMENUCHECK,
SM_CYMENUCHECK 以相素為單位計(jì)算的菜單選中標(biāo)記位圖的尺寸
SM_CXMENUSIZE,
SM_CYMENUSIZE 以相素計(jì)算的菜單欄按鈕的尺寸
SM_CXMIN,SM_CYMIN 窗口所能達(dá)到的最小尺寸
SM_CXMINIMIZED,
SM_CYMINIMIZED 正常的最小化窗口的尺寸
SM_CXMINTRACK,
SM_CYMINTRACK 最小跟蹤距離,當(dāng)使用者拖動(dòng)窗口移動(dòng)距離小于這個(gè)值,窗口不會(huì)移動(dòng)
SM_CXSCREEN,
SM_CYSCREEN 以相素為單位計(jì)算的屏幕尺寸。
SM_CXSIZE,SM_CYSIZE 以相素計(jì)算的標(biāo)題欄按鈕的尺寸
SM_CXSIZEFRAME,
SM_CYSIZEFRAME 圍繞可改變大小的窗口的邊框的厚度
SM_CXSMICON,
SM_CYSMICON 以相素計(jì)算的小圖標(biāo)的尺寸,小圖標(biāo)一般出現(xiàn)在窗口標(biāo)題欄上
M_CXVSCROLL,
SM_CYVSCROLL 以相素計(jì)算的垂直滾動(dòng)條的寬度和垂直滾動(dòng)條上箭頭的高度
SM_CYCAPTION 以相素計(jì)算的普通窗口標(biāo)題的高度
SM_CYMENU 以相素計(jì)算的單個(gè)菜單條的高度
SM_CYSMCAPTION 以相素計(jì)算的窗口小標(biāo)題欄的高度
SM_CYVTHUMB 以相素計(jì)算的垂直滾動(dòng)條中滾動(dòng)塊的高度
SM_DBCSENABLED 如果為 TRUE 或不為 0 的值表明系統(tǒng)安裝了雙字節(jié)版本的 USER.EXE, 為 FALSE 或 0 則不是
SM_DEBUG 如果為 TRUE 或不為 0 的值表明系統(tǒng)安裝了 debug 版本的 USER.EXE, 為 FALSE 或 0 則不是
SM_MENUDROPALIGNMENT 如果為 TRUE 或不為 0 的值下拉菜單是右對齊的否則是左對齊的
SM_MOUSEPRESENT 如果為 TRUE 或不為 0 的值則安裝了鼠標(biāo),否則沒有安裝
SM_MOUSEWHEELPRESENT 如果為 TRUE 或不為 0 的值則安裝了滾輪鼠標(biāo),否則沒有安裝 (Windows NT only)