api:

解决方案 »

  1.   

    sdmStandBy: //Stand by
          begin
            Result := SetSystemPowerState(True, Force);
          end;
        sdmHibernate://Hibernate
          begin
            Result := SetSystemPowerState(False, Force);
          end;
    //其中Force参数表示是否强制执行
    挂起PC
    SetSystemPowerState(FALSE,FALSE);
    关闭显示器
    {turn monitor off} 
    SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0); 
    {turn monitor on} 
    SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
      

  2.   

    未经测试:
    SetSystemPowerState(False, True); 
    SetSystemPowerState(True, False);