如何在程序运行完后关机呢?

jog81 2002-10-02 10:52:19
我用的是Realproducer控件。我想用一个checkbox组件控制它,等它压缩完成时关机,我试了好几次,请各位指点。最好能帮我写一下源码!!谢谢!!
...全文
153 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jog81 2002-10-02
  • 打赏
  • 举报
回复
上面两位可以具体一点吗??
上海老李 2002-10-02
  • 打赏
  • 举报
回复
调用EXITWINDOW
流星尔 2002-10-02
  • 打赏
  • 举报
回复
调用winapi函数。
chechy 2002-10-02
  • 打赏
  • 举报
回复
case rgExitOptions.ItemIndex of
0: Win32Check(ExitWindows(0, 0)); // Exit and log on as a
// different user.
1: Win32Check(ExitWindowsEx(EWX_REBOOT, 0)); // Exit/Reboot
2: Win32Check(ExitWindowsEx(EWX_SHUTDOWN, 0));// Exit to Power Off
// Exit/Log off/Log on as different user
3: Win32Check(ExitWindowsEx(EWX_LOGOFF, 0));
end;
skyflyzy 2002-10-02
  • 打赏
  • 举报
回复
98系统和NT系统不一样!
mikeyup 2002-10-02
  • 打赏
  • 举报
回复
还有,在windows和win32中关机函数不一样
mingyeh 2002-10-02
  • 打赏
  • 举报
回复
ExitWindowsEx(EWX_FORCE + EWX_SHUTDOWN + EWX_POWEROFF, 0);
wolfAone 2002-10-02
  • 打赏
  • 举报
回复
一、设置权限。
二、调用API函数关机。
可以的,我做过定时关机的程序。
ehom 2002-10-02
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/shutting_down.asp

MS提供的例子
ehom 2002-10-02
  • 打赏
  • 举报
回复
ExitWindowsEx(EWX_FORCE + EWX_SHUTDOWN + EWX_POWEROFF, 0);
如果是NT内核(NT,2000,XP)需要先获得权限!

var
VerInfo: TOSVersionInfo;
hToken: THANDLE;
tkp: TOKEN_PRIVILEGES;
Nothing: Cardinal;
begin
VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo);
GetVersionEx(VerInfo);
if VerInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then begin
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
hToken);
LookupPrivilegeValue(nil, 'SeShutdownPrivilege', tkp.Privileges[0].Luid);
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, tkp, 0, nil, Nothing);
end;
ExitWindowsEx(EWX_FORCE + EWX_SHUTDOWN + EWX_POWEROFF, 0);
end;

关于各API的作用,查询MSDN
michaelpeng7799 2002-10-02
  • 打赏
  • 举报
回复
要SHUNTDOWN用EXITWINDOSEX。
2000,和98的EXITWINDOWS及EXITWINDOSEX笑果有此不一样。看看MSDN吧。
 msdn.microsoft.com
ldnever 2002-10-02
  • 打赏
  • 举报
回复
关机做甚?
jog81 2002-10-02
  • 打赏
  • 举报
回复
我试过了,可是不能用EXITWINDOWSEX,只能用EXITWINDOWS(EWS_WINDOWS,0),而且它只是能重启,并不能关机!!
应该怎么做呀?!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧