zoukankan      html  css  js  c++  java
  • SystemParametersInfo系统信息获取与设置,慎用

    MFC中可以用 SystemParametersInfo(……) 函数来获取和设置系统信息,如下面例子所示,改变的是系统菜单栏的高度。

    示例:改变系统菜单栏的高度

    NONCLIENTMETRICS ncm;
    ncm.cbSize = sizeof( NONCLIENTMETRICS );  //这个非常重要,否则下面函数调用将返回0,即ret=0,说明函数调用失败

    int ret=::SystemParametersInfo( SPI_GETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&ncm,0);

    //CString str;
    //str.Format("return value:%d,%d",ret,ncm.iMenuHeight);
    //AfxMessageBox(str);

    ncm.iMenuHeight+=10;  //设置系统菜单高度加1
    ret=::SystemParametersInfo( SPI_SETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&ncm,0); 

    //ret=::SystemParametersInfo( SPI_SETNONCLIENTMETRICS,sizeof( NONCLIENTMETRICS ),&ncm,SPIF_SENDCHANGE);

    // 最后一个参数为0或者SPIF_SENDCHANGE,后者表示将把改变写入update win.ini

    // str.Format("return value:%d,%d",ret,ncm.iMenuHeight);
    // AfxMessageBox(str);

    这里要特别说明的是,如果要使用它来设置应用程序的相关属性,请慎重,因为它改变的是操作系统的属性,也就是说系统上其他应用程序的属性也会被改变。

    用它来获取系统相关信息,如屏幕宽度、高度、菜单栏、标题栏高度等,还是比较好用的。

  • 相关阅读:
    Delphi 打印纸张选项设置参数
    Windows win32 API 类库 硬件
    delphi 打印 PDevMode 说明
    Delphi GlobalAlloc、GlobalLock、GlobalUnlock、GlobalFree 函数
    delphi 设备函数GetDeviceCaps函数
    情感分析和数据集
    深度因式分解机
    因子分解机
    功能丰富的推荐系统
    序列感知推荐系统
  • 原文地址:https://www.cnblogs.com/lidabo/p/2735900.html
Copyright © 2011-2022 走看看