用C++Builder检测Windows的启动模式
当前位置:以往代写 > C/C++ 教程 >用C++Builder检测Windows的启动模式
2019-06-13

用C++Builder检测Windows的启动模式

用C++Builder检测Windows的启动模式

Windows 95/98的启动模式可以分为正常模式和安详模式,在安详模式下,有许多成果被限制利用,好比多媒体成果、网络成果等。有时,我们编写的措施正好需要这些被限制的成果,因此我们但愿当措施运行时能自动检测当前Windows所处的启动模式是不是安详模式,以确定是否继承运行措施。

那么如安在C++ Builder措施中检测当前的Windows是以正常模式照旧安详模式启动的?这需要利用到API函数GetSystemMetrics来举办检测。API函数GetSystemMetrics可以取得Windows的一些设置信息,好比,鼠标的按键数、窗体的界线宽度,它也可以测恰当前Windows所处的启动模式。

在Windows API中,该函数的界说如下:

int GetSystemMetrics( int nIndex );

个中参数nIndex的取值许多,假如只想检测Windows的启动模式,只要取参数值为SM_CLEANBOOT即可,该值将确认当前的Windows是以何种模式启动的。它的返回值有三个:

0:正常启动模式;

1:安详模式启动Windows;

2:以安详模式启动,可是拥有网络成果。

我们可以在措施的起始部门利用该函数,如下面的示例中,我们按照Windows启动模式的差异,应用措施显示出差异的提示信息,用户可以在实际编程中详细添加新的处理惩罚代码。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  switch(GetSystemMetrics(SM_CLEANBOOT))
  {
   case 0:
    ShowMessage("正常模式启动");
    break;
   case 1:
    ShowMessage("安详模式启动");
    break;
   case 2:
    ShowMessage("安详模式启动,但带网络附带成果");
    break;
   default:
    ShowMessage("错误,系统启动有问题。");
    break;
  }
}

    关键字:

在线提交作业