共用方式為


setSystemPowerState 函式 (winbase.h)

[SetSystemPowerState 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 針對 Windows Vista 和更新版本撰寫的應用程式應該改用 SetSuspendState 。]

關閉電源以暫停系統。 視 ForceFlag 參數而定,函式會立即暫停作業,或要求所有應用程式和設備磁碟機的許可權,再執行此動作。

語法

BOOL SetSystemPowerState(
  [in] BOOL fSuspend,
  [in] BOOL fForce
);

參數

[in] fSuspend

如果此參數為 TRUE,系統會暫停系統。 如果參數為 FALSE,則系統會休眠。

[in] fForce

這個參數沒有作用。

傳回值

如果電源已暫停且後續還原,則傳回值為非零。

如果系統未暫停,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

呼叫進程必須具有 SE_SHUTDOWN_NAME 許可權。 若要啟用 SE_SHUTDOWN_NAME 許可權,請使用 AdjustTokenPrivileges 函 式。 如需詳細資訊,請參閱 變更權杖中的許可權

如果有任何應用程式或驅動程式拒絕暫停作業的許可權,函式會將 PBT_APMQUERYSUSPENDFAILED 事件廣播至每個應用程式和驅動程式。 如果電源已暫停,則只有在系統作業繼續且相關 WM_POWERBROADCAST 訊息已廣播至所有應用程式和驅動程式之後,此函式才會傳回。

此函式類似于 SetSuspendState 函式。

若要編譯使用此函式的應用程式,請將_WIN32_WINNT巨集定義為0x0400或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

PBT_APMQUERYSUSPEND

PBT_APMQUERYSUSPENDFAILED

PBT_APMSUSPEND

電源管理功能

SetSuspendState

WM_POWERBROADCAST