亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        用C++Builder檢測Windows的啟動模式

        字號:

        Windows 95/98的啟動模式可以分為正常模式和安全模式,在安全模式下,有很多功能被限制使用,比如多媒體功能、網(wǎng)絡(luò)功能等。有時,我們編寫的程序正好需要這些被限制的功能,因此我們希望當程序運行時能自動檢測當前Windows所處的啟動模式是不是安全模式,以確定是否繼續(xù)運行程序。
            那么如何在C++ Builder程序中檢測當前的Windows是以正常模式還是安全模式啟動的?這需要使用到API函數(shù)GetSystemMetrics來進行檢測。API函數(shù)GetSystemMetrics可以取得Windows的一些配置信息,比如,鼠標的按鍵數(shù)、窗體的邊界寬度,它也可以測得當前Windows所處的啟動模式。
            在Windows API中,該函數(shù)的定義如下:
            int GetSystemMetrics( int nIndex );
            其中參數(shù)nIndex的取值很多,如果只想檢測Windows的啟動模式,只要取參數(shù)值為SM_CLEANBOOT即可,該值將確認當前的Windows是以何種模式啟動的。它的返回值有三個:
            0:正常啟動模式;
            1:安全模式啟動Windows;
            2:以安全模式啟動,但是擁有網(wǎng)絡(luò)功能。
            我們可以在程序的起始部分使用該函數(shù),如下面的示例中,我們根據(jù)Windows啟動模式的不同,應(yīng)用程序顯示出不同的提示信息,用戶可以在實際編程中具體添加新的處理代碼。
             void __fastcall TForm1::Button1Click(TObject *Sender)
             {
             switch(GetSystemMetrics(SM_CLEANBOOT))
             {
             case 0:
             ShowMessage("正常模式啟動");
             break;
             case 1:
             ShowMessage("安全模式啟動");
             break;
             case 2:
             ShowMessage("安全模式啟動,但帶網(wǎng)絡(luò)附帶功能");
             break;
             default:
             ShowMessage("錯誤,系統(tǒng)啟動有問題。");
             break;
             }
             }