1. 程式人生 > >除錯經驗——VBA獲取螢幕解析度

除錯經驗——VBA獲取螢幕解析度

看這些引數,給人一種老掉牙的感覺,在此列出,僅備一時之需。

Public Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Public Const SM_CXSCREEN = 0
Public Const SM_CYSCREEN = 1
Sub 取解析度()
 Dim x As Long, y As Long
 x = GetSystemMetrics(SM_CXSCREEN)
 y = GetSystemMetrics(SM_CYSCREEN)
 Debug.Print "您的螢幕解析度為:" & x & "*" & y
End Sub
'
'
'引數表
'引數 型別及說明
'nIndex Long,常數,指定欲獲取的資訊;如下表所示
'nIndex常數設定
'常數定義 取得資訊
'SM_ARRANGE 設定windows如何排列最小化視窗的一個標誌?參考api32.txt中的ARW常數
'SM_CLEANBOOT 指定啟動模式。0=普通模式;1=帶網路支援的安全模式
'SM_CMETRICS 可用系統環境的數量
'SM_CMOUSEBUTTON 滑鼠按鈕(按鍵)的數量。如沒有滑鼠,就為零
'SM_CXBORDER, SM_CYBORDER 尺寸不可變邊框的大小
'SM_CXCURSOR, SM_CYCURSOR 標準指標大小
'SM_CXDLGFRAME, SM_CYDLGFRAME 對話方塊邊框的大小
'SM_CXDOUBLECLK, SM_CYDOUBLECLK 雙擊區域的大小(參考註解)
'SM_CXFRAME, SM_CYFRAME 尺寸可變邊框的大小(在win95和nt 4.0中使用SM_C?FIXEDFRAME)
'SM_CXFULLSCREEN, SM_CYFULLSCREEN 最大化視窗客戶區的大小
'SM_CXHSCROLL, SM_CYHSCROLL 水平滾動條上的箭頭大小
'SM_CXHTHUMB, SM_CYHTHUMB 滾動塊在水平滾動條上的大小
'SM_CXICON, SM_CYICON 標準圖示的大小
'SM_CXICONSPACING, SM_CYICONSPACING 桌面圖示之間的間隔距離。在win95和nt 4.0中是指大圖示的間距
'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_C?ICONSPACING
'SM_CXMINTRACK, SM_CYMINTRACK 視窗的最小軌跡寬度
'SM_CXSCREEN, SM_CYSCREEN 螢幕大小
'SM_CXSIZE, SM_CYSIZE 標題欄點陣圖的大小
'SM_CXSIZEFRAME, SM_CYSIZEFRAME 具有WS_THICKFRAME樣式的視窗的大小
'SM_CXSMICON, SM_CYSMICON 小圖示的大小
'SM_CXSMSIZE, SM_CYSMSIZE 小標題按鈕的大小
'SM_CXVSCROLL, SM_CYVSCROLL 垂直滾動條中的箭頭按鈕的大小
'SM_CYCAPTION 視窗標題的高度
'SM_CYKANJIWINDOW Kanji視窗的大小(Height of Kanji window)
'SM_CYMENU 選單高度
'SM_CYSMCAPTION 小標題的高度
'SM_CYVTHUMB 垂直滾動條上滾動塊的高度
'SM_DBCSENABLED 如支援雙位元組則為TRUE
'SM_DEBUG 如windows的除錯版正在執行,則為TRUE
'SM_MENUDROPALIGNMENT 如彈出式選單對齊選單欄專案的左側,則為零
'SM_MIDEASTENABLED 允許了希伯來和阿拉伯語
'SM_MOUSEPRESENT 如安裝了滑鼠則為TRUE
'SM_MOUSEWHEELPRESENT 如安裝了帶輪滑鼠則為TRUE;只適用於nt 4.0
'SM_NETWORK 如安裝了網路,則設定位0。其他位保留未用
'SM_PENWINDOWS 如裝載了支援筆視窗的DLL,則表示筆視窗的控制代碼
'SM_SECURE 如安裝了安全(保密)機制,則為TRUE
'SM_SHOWSOUNDS 強制視覺提示播放聲音
'SM_SLOWMACHINE 系統速度太慢,但仍在執行中(System is too slow for effective use but is being run anyway)
'SM_SWAPBUTTON 如左右滑鼠鍵已經交換,則為TRUE

執行結果: