亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Delphi的GetSystemMetrics函數(shù)應(yīng)用

        2008-12-31 00:00:00陳彬茹
        電腦知識(shí)與技術(shù) 2008年8期

        摘要:GetSystemMetrics函數(shù)是Windows API(Application Program Interface)函數(shù)中的一員。利用這一函數(shù),可以獲取很多關(guān)于系統(tǒng)的信息,包括軟件系統(tǒng)和硬件系統(tǒng)等,對(duì)于面向計(jì)算機(jī)軟、硬件系統(tǒng)檢測(cè)、維護(hù)的應(yīng)用程序開發(fā)有重要的應(yīng)用價(jià)值。本文討論了Delphi下GetSystemMetrics函數(shù)的典型應(yīng)用,并提供對(duì)應(yīng)的程序驗(yàn)證。

        關(guān)鍵詞:Delphi;GetSystemMetrics;系統(tǒng)信息

        中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)08-10ppp-0c

        1 引言

        GetSystemMetrics函數(shù)是API函數(shù)中的一員。利用這一函數(shù),通過傳遞參數(shù)來設(shè)置GetSystemMetrics函數(shù)所要獲取的信息,進(jìn)而獲取關(guān)于計(jì)算機(jī)的信息,包括軟件系統(tǒng)和硬件系統(tǒng)等,對(duì)于面向計(jì)算機(jī)軟、硬件系統(tǒng)檢測(cè)、維護(hù)的應(yīng)用程序開發(fā)有重要的應(yīng)用價(jià)值。

        2 函數(shù)解析

        GetSystemMetrics中有如下幾個(gè)重要的參數(shù),分別為:SM_CLEANBOOT、SM_CMOUSEBUTTONS、SM_MOUSEPRESENT、SM_NETWORK和SM_CYSCREEN。這五個(gè)參數(shù)分別應(yīng)用于操作系統(tǒng)的啟動(dòng)管理、鼠標(biāo)按鍵控制、網(wǎng)絡(luò)連接服務(wù)和顯示器管理等。

        2.1 GetSystemMetrics(SM_CLEANBOOT)

        利用GetSystemMetrics(SM_CLEANBOOT),可以獲得操作系統(tǒng)的啟動(dòng)模式。具體地:

        返回值:0-操作系統(tǒng)是正常啟動(dòng)模式;

        返回值:1-操作系統(tǒng)是安全模式啟動(dòng);

        返回值:2-操作系統(tǒng)是網(wǎng)絡(luò)連接的安全模式啟動(dòng)。

        2.2 GetSystemMetrics(SM_CMOUSEBUTTONS)

        利用GetSystemMetrics(SM_CMOUSEBUTTONS)可以獲取計(jì)算機(jī)鼠標(biāo)按鍵的數(shù)量。如果它的返回值是0,則說明計(jì)算機(jī)沒有連接鼠標(biāo)。

        2.3 GetSystemMetrics(SM_MOUSEPRESENT)

        利用GetSystemMetrics(SM_MOUSEPRESENT)可以獲取計(jì)算機(jī)是否與鼠標(biāo)連接正常的信息。它的返回值是布爾值,具體如下:

        返回值:True-計(jì)算機(jī)與鼠標(biāo)連接正常;

        返回值:False-計(jì)算機(jī)與鼠標(biāo)連接異?;蛘呶磁c鼠標(biāo)連接。

        2.4 GetSystemMetrics(SM_NETWORK)

        利用GetSystemMetrics(SM_NETWORK)可以獲得計(jì)算機(jī)與網(wǎng)絡(luò)連接的狀態(tài)。它的返回值也是一個(gè)布爾值,具體如下:

        返回值:True-計(jì)算機(jī)與網(wǎng)絡(luò)連接正常;

        返回值:False-計(jì)算機(jī)與網(wǎng)絡(luò)連接異常或者未與網(wǎng)絡(luò)連接。

        2.5 GetSystemMetrics(SM_CYSCREEN)

        利用GetSystemMetrics(SM_CXSCREEN/SM_YSCREEN)可以獲得計(jì)算機(jī)顯示器的分辨率。該函數(shù)的返回值是Longint型。其中:SM_CXSCREEN是顯示器的水平分辨率;SM_CYSCREEN是顯示器的垂直分辨率。

        3 應(yīng)用舉例

        3.1 應(yīng)用舉例一

        利用GetSystemMetrics(SM_CLEANBOOT)獲取操作系統(tǒng)啟動(dòng)狀態(tài)。在設(shè)計(jì)環(huán)境的主窗體上添加如下控件:4個(gè)CheckBox控件和1個(gè)Button控件。4個(gè)CheckBox控件的Caption屬性分別設(shè)為:“正常模式”、“安全模式”、“安全模式,并且具備網(wǎng)絡(luò)功能”、“系統(tǒng)啟動(dòng)有問題”。Button控件的Caption屬性設(shè)為“檢測(cè)”;在Button控件中編寫如下代碼:

        case(GetSystemMetrics(SM_CLEANBOOT)) of

        0:CheckBox1.Checked:=True; //正常模式

        1:CheckBox2.Checked:=True; //安全模式

        2:CheckBox3.Checked:=True; //安全模式且具備網(wǎng)絡(luò)功能

        else

        CheckBox4.Checked:=True; //系統(tǒng)啟動(dòng)有問題

        end;

        程序運(yùn)行效果如圖1所示。

        圖1 應(yīng)用SM_CLEANBOOT參數(shù)的程序運(yùn)行效果

        3.2 應(yīng)用舉例二

        利用GetSystemMetrics(SM_NETWORK)測(cè)試網(wǎng)絡(luò)連接狀態(tài)。在設(shè)計(jì)環(huán)境的主窗體上添加如下控件:2個(gè)CheckBox控件和1個(gè)Button控件。2個(gè)CheckBox控件的Caption屬性分別設(shè)為:“網(wǎng)絡(luò)連接正?!?、“網(wǎng)絡(luò)連接異?!薄utton控件的Caption屬性設(shè)為“檢測(cè)”;在Button控件中編寫如下代碼:

        if GetSystemMetrics(SM_NETWORK) AND $01 = $01

        thenCheckBox5.Checked:=True //網(wǎng)絡(luò)連接正常

        elseCheckBox6.Checked:=True; //網(wǎng)絡(luò)連接異常

        程序運(yùn)行效果如圖2所示。

        圖2 應(yīng)用SM_NETWORK參數(shù)的程序運(yùn)行效果

        3.3 應(yīng)用舉例三

        利用GetSystemMetrics(SM_CXSCREEN)/(SM_CYSCREEN)獲取顯示器分辨率信息。在設(shè)計(jì)環(huán)境的主窗體上添加如下控件:2個(gè)Label控件和1個(gè)Button控件;Button控件的Caption屬性設(shè)為“檢測(cè)”;在Button控件中編寫如下代碼:

        var

        x,y:longint; //存儲(chǔ)顯示器水平、垂直分辨率值

        a:string;

        begin

        x := GetSystemMetrics(SM_CXSCREEN);

        Str(x,a);

        Label1.Caption := '顯示器水平分辨率:' + a;

        y := GetSystemMetrics(SM_CYSCREEN);

        Str(y,a);

        Label2.Caption := '顯示器垂直分辨率:' + a;

        end;

        程序運(yùn)行效果如圖3所示。

        圖3 應(yīng)用SM_CXSCREEN參數(shù)的程序運(yùn)行效果

        3.4 應(yīng)用舉例四

        利用GetSystemMetrics(SM_CMOUSEBUTTONS)檢測(cè)鼠標(biāo)類型。啟動(dòng)Delphi,新建一個(gè)工程;在主窗體上添加如下控件:1個(gè)Label控件和1個(gè)Button控件;Button控件的Caption屬性設(shè)為“檢測(cè)”;在Button控件中編寫如下代碼:

        case(GetSystemMetrics(SM_CMOUSEBUTTONS)) of

        0: Label3.Caption:='鼠標(biāo)異常'; //鼠標(biāo)異常時(shí)

        1: Label3.Caption:='鼠標(biāo)有1個(gè)按鍵'; //單鍵鼠標(biāo)

        2: Label3.Caption:='鼠標(biāo)有2個(gè)按鍵'; //雙鍵鼠標(biāo)

        3: Label3.Caption:='鼠標(biāo)有3個(gè)按鍵'//三鍵鼠標(biāo)

        end;

        程序運(yùn)行效果如圖4所示。

        圖4 應(yīng)用SM_CMOUSEBUTTONS參數(shù)的程序運(yùn)行效果

        4 總結(jié)

        GetSystemMetrics函數(shù)除上面所介紹的之外還有很多其它重要應(yīng)用,比如:利用GetSystemMetrics(SM_CXFRAME)/(SM_CYFRAME)獲取窗體框架的寬度和高度;利用GetSystemMetrics(SM_CYCAPTION)獲取窗體的標(biāo)題信息;利用GetSystemMetrics(SM_DBCSENABLED)判斷操作系統(tǒng)的語言等。該函數(shù)對(duì)用戶獲取、了解計(jì)算機(jī)軟件、硬件信息有著十分重要的作用。

        參考文獻(xiàn):

        [1]John Ayres.The Tomes of Delphi (tm) Win32 Core API Windows 2000 Edition[M].Wordware Publishing,2001.

        [2]譚燕,趙磊,李之明.Delphi高級(jí)輔助工具精解[M].中國(guó)鐵道出版社,2003.

        亚洲av不卡一区男人天堂 | 天码av无码一区二区三区四区| 精品九九视频| 最新国产一区二区三区| 丰满精品人妻一区二区| 97久久草草超级碰碰碰| 欧美巨大精品欧美一区二区| 蜜桃av夺取一区二区三区| 国产91色综合久久高清| 人妻哺乳奶头奶水| 最新国产一区二区精品久久| 国产高清亚洲精品视频| 国产av一级片在线观看| 国产喷水1区2区3区咪咪爱av| 久久久精品久久波多野结衣av| 抖射在线免费观看视频网站| 国产91色综合久久免费| 在线观看热码亚洲av每日更新| 亚洲综合AV在线在线播放| 久久深夜中文字幕高清中文| 寂寞人妻渴望被中出中文字幕| 成人免费一区二区三区| 国产综合久久久久影院| 国产成人综合久久大片| 朋友的丰满人妻中文字幕| 国产成人精品无码播放| 亚洲午夜久久久精品国产| 亚洲乱码av乱码国产精品| 国产精品欧美一区二区三区| 亚洲AV无码精品色欲av| 翘臀诱惑中文字幕人妻| 久久久久88色偷偷| 红杏亚洲影院一区二区三区| 国产一区二区亚洲av| 偷拍夫妻视频一区二区| 亚洲国产精品久久久久婷婷老年 | 97夜夜澡人人双人人人喊| 国产无码swag专区| 少妇深夜吞精一区二区| 中文字字幕人妻中文| 少妇高潮喷水正在播放|