禁止启用屏幕保护及系统热键等

    技术2022-05-11  108

     

    禁止/启用屏幕保护及系统热键等

    作者:徐景周

     

    1.         禁止/启用屏幕保护及电源管理

    static UINT dss_GetList[] = {SPI_GETLOWPOWERTIMEOUT, SPI_GETPOWEROFFTIMEOUT, SPI_GETSCREENSAVETIMEOUT};

     

    static UINT dss_SetList[] = {SPI_SETLOWPOWERTIMEOUT, SPI_SETPOWEROFFTIMEOUT, SPI_SETSCREENSAVETIMEOUT};

     

    static const int dss_ListCount = _countof(dss_GetList);

    l         禁止屏幕保护及电源管理

    {

    m_pValue = new int[dss_ListCount];

    for (int x=0;x<dss_ListCount;x++)

    {

    // 禁止屏幕保护及电源管理

    VERIFY(SystemParametersInfo (dss_SetList[x], 0, NULL, 0));

    }

    delete[] m_pValue;

    }

     

    l         启用屏幕保护及电源管理

    {

    m_pValue = new int[dss_ListCount];

    for (int x=0;x<dss_ListCount;x++)

    {

    //启用屏幕保护及电源管理

    VERIFY(SystemParametersInfo (dss_SetList[x], m_pValue[x], NULL, 0));

    }

    delete[] m_pValue;

    }

     

    2.         禁止/启用系统热键

    bool bOld;

    l         禁止系统热键

    //屏蔽掉系统键

    SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,true,&bOld,SPIF_UPDATEINIFILE);

     

    l         启用系统热键

    //恢复系统热键      

    SystemParametersInfo(SPI_SETSCREENSAVERRUNNING,false,&bOld,SPIF_UPDATEINIFILE);

     

    3.         隐藏/显示WINDOWS系统任务栏

    l         隐藏系统任务栏

    //隐藏WINDOWS系统任务栏

           ::ShowWindow (::FindWindow("Shell_TrayWnd",NULL),SW_HIDE);

    l         显示系统任务栏

    //恢复WINDOWS系统任务栏正常显示

    ::ShowWindow (::FindWindow("Shell_TrayWnd",NULL),SW_SHOW);

     

     

    联系方式:

    作者EMAIL:jingzhou_xu@163.com

    未来工作室(Future Studio)

     


    最新回复(0)