RestartDialogEx 函数 (shlobj_core.h)

[此函数可通过 Windows XP Service Pack 2 (SP2) 和 Windows Server 2003 获得。 它在后续版本的 Windows 中可能已更改或不可用。]

显示要求用户重启 Windows 的对话框。 当用户单击该按钮时,函数会调用 ExitWindowsEx 来尝试重启 Windows。

语法

int RestartDialogEx(
  [in, optional] HWND   hwnd,
  [in, optional] PCWSTR pszPrompt,
                 DWORD  dwReturn,
                 DWORD  dwReasonCode
);

参数

[in, optional] hwnd

类型:HWND

父窗口的句柄。

[in, optional] pszPrompt

类型: PCWSTR

一个以 null 结尾的字符串,其中包含显示在对话框中以提示用户的文本。

dwReturn

类型:DWORD

指定关闭类型的标志。

此参数必须包含以下值之一。

EWX_LOGOFF

关闭调用此函数的进程的安全上下文中运行的所有进程。 然后注销用户。

EWX_POWEROFF

关闭系统并关闭电源。 系统必须支持关机功能。 调用进程必须具有 SE_SHUTDOWN_NAME 特权。 有关详细信息,请参阅 ExitWindowsEx

EWX_REBOOT

关闭系统,然后重启系统。 调用进程必须具有SE_SHUTDOWN_NAME特权。 有关详细信息,请参阅 ExitWindowsEx

EWX_SHUTDOWN

将系统关闭到可以安全关闭电源的点。 此时,所有文件缓冲区都已刷新到磁盘,并且所有正在运行的进程都已停止。 如果系统支持关机功能,则电源也会关闭。 调用进程必须具有SE_SHUTDOWN_NAME特权。 有关详细信息,请参阅 ExitWindowsEx

此参数可以选择包含以下值。

EWX_FORCE

强制终止进程。 设置此标志后,系统不会发送 WM_QUERYENDSESSIONWM_ENDSESSION 消息。 这可能会导致应用程序丢失数据。 因此,应仅在紧急情况下使用此标志。

EWX_FORCEIFHUNG

如果进程不响应 WM_QUERYENDSESSIONWM_ENDSESSION 消息,则强制终止这些进程。 如果使用EWX_FORCE,则忽略此标志。

dwReasonCode

类型:DWORD

Windowsxp:指定启动关闭的原因。 有关详细信息,请参阅 系统关闭原因代码

Windows 2000: 忽略此参数。

返回值

类型: int

返回按下以关闭对话框的按钮的标识符。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shlobj_core.h (包括 Shlobj.h)
Library Shell32.lib
DLL Shell32.dll (5.0 或更高版本)