獲得與windows環境有關的資訊 |
|
leo2568
中階會員 發表:54 回覆:124 積分:70 註冊:2003-09-21 發送簡訊給我 |
使用 API函數GetSystemMetrics 獲得許多與windows環境有關的資訊。下面介 紹一下該函數的使用方法,希望對大家有所幫助。 參數原型: int GetSystemMetrics(int nIndex); 參數: nIndex SM_ARRANGE windows怎樣排列最小化視窗的一個方式。 SM_CLEANBOOT 啟動模式。0普通模式,1安全模式,2 帶網路支援的安全模式 SM_CMOUSEBUTTON 滑鼠按鈕的數量。如沒有滑鼠,就為零 SM_CXBORDER, SM_CYBORDER 視窗邊界尺寸(象素) SM_CXCURSOR, SM_CYCURSOR 標準指針大小(象素) SM_CXDLGFRAME, SM_CYDLGFRAME 和SM_CXFIXEDFRAME、SM_CYFIXEDFRAME 相同 SM_CXDOUBLECLK, SM_CYDOUBLECLK 雙擊區域的大小。設置第一次滑鼠點擊 周圍一個長方形區域,第二次滑鼠點擊必須落在這個區域中系統才認為是 雙擊(還有雙擊時間限制) SM_CXDRAG, SM_CYDRAG 拖動區域的大小 SM_CXEDGE, SM_CYEDGE 3-D 邊界大小 SM_CXFIXEDFRAME, SM_CYFIXEDFRAME 窗口框架周邊的厚度 SM_CXFRAME, SM_CYFRAME 和SM_CXSIZEFRAME,SM_CYSIZEFRAME相同 SM_CXFULLSCREEN, SM_CYFULLSCREEN 最大化視窗客戶區的大小 SM_CXHSCROLL, SM_CYHSCROLL 水平捲軸上的箭頭大小 SM_CXHTHUMB 水平捲軸上滾動塊的大小 SM_CXICON, SM_CYICON 默認圖示的大小 SM_CXICONSPACING, SM_CYICONSPACING 大圖示查看時,專案中單格大小,總是 大於或等於SM_CXICON, 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_CXMINSPACING, SM_CYMINSPACING 最小化窗口的單格大小 SM_CXMINTRACK, SM_CYMINTRACK 窗口的最小軌跡寬度 SM_CXSCREEN, SM_CYSCREEN 螢幕大小 SM_CXSIZE, SM_CYSIZE 標題欄按鈕的大小 SM_CXSIZEFRAME, SM_CYSIZEFRAME 窗口周圍邊界的厚度 SM_CXSMICON, SM_CYSMICON 小圖示的大小 SM_CXSMSIZE, SM_CYSMSIZE 小標題按鈕的大小 SM_CXVSCROLL, SM_CYVSCROLL 垂直捲軸中的箭頭按鈕的大小 SM_CYCAPTION 窗口標題的高度 SM_CYKANJIWINDOW Kanji窗口的大小 SM_CYMENU 單行菜單欄高度 SM_CYSMCAPTION 小標題欄的高度 SM_CYVTHUMB 垂直捲軸上滾動塊的高度 SM_DBCSENABLED 如支援雙位元組則為TRUE,否則為FALSE SM_DEBUG 如果windows的調試版USER.EXE正在運行,則為TRUE,否則為FALSE SM_MENUDROPALIGNMENT 如彈出式功能表對齊功能表欄專案的右側,則為TRUE SM_MIDEASTENABLED 允許了希伯來和阿拉伯語 SM_MOUSEPRESENT 如安裝了滑鼠則為TRUE SM_MOUSEWHEELPRESENT 如安裝了帶輪滑鼠為TRUE,否則為FALSE;只適用於 Win NT SM_NETWORK 如安裝了網路,則設置最小位元為0。其他位保留未用 SM_PENWINDOWS 如果安裝了Pen computing擴展,則為TRUE,否則為FALSE SM_SECURE 如果安裝了安全機制,則為TRUE,否則為FALSE SM_SHOWSOUNDS 強制視覺提示播放聲音 SM_SLOWMACHINE 如果電腦有一個低檔的處理器,則為TRUE,否則為FALSE SM_SWAPBUTTON 如果滑鼠左右鍵已經交換,則為TRUE,否則為FALSE 返回值: 如果成功,返回系統配置,否則返回0; 實例: 在表單中添加三個Button,其Name屬性分別為Button1、Button2、Button3,其 Caption屬性分別為‘運行模式’、‘解析度’、‘滑鼠鍵數’,為每個Button 增加OnClick事件,其事件代碼如下: procedure TForm1.Button1Click(Sender: TObject); begin case GETSYSTEMMETRICS(SM_CLEANBOOT) of 0:ShowMessage('系統處於正常模式'); 1:ShowMessage('系統處於安全模式'); 2:ShowMessage('系統處於帶網路支援的安全模式'); end; end; procedure TForm1.Button2Click(Sender: TObject); var i:longint; ax,ay:string; begin i:=GetSystemMetrics(SM_CXSCREEN); Str(i,ax); i:=GetSystemMetrics(SM_CYSCREEN); Str(i,ay); ShowMessage('顯示器解析度:' ax '*' ay); end; procedure TForm1.Button3Click(Sender: TObject); var i:integer; begin i:=GetSystemMetrics(SM_CMOUSEBUTTONS); ShowMessage('滑鼠按鈕數是:' inttostr(i)); end;╭╧╮╭╧╮╭╧╮╭╧╮╭╮☆ ║聖│║誕│║快│║樂│ ╰☆╮ ╘∞╛╘∞╛╘∞╛╘∞╛☆╰☆ . ﹒☆‧☆∴.:☆﹒‧∴ ☆..... 發表人 - leo2568 於 2003/12/23 18:42:35 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |