線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1264
推到 Plurk!
推到 Facebook!

獲得與windows環境有關的資訊

 
leo2568
中階會員


發表:54
回覆:124
積分:70
註冊:2003-09-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-23 18:40:12 IP:61.217.xxx.xxx 未訂閱
使用 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
系統時間:2024-05-13 8:25:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!