我编写一个机房管理系统,在服务器端控制其它计算机启动,关闭,如何实现?用socket通信作的。
解决方案 »
- 求CRC-16算法
- 请教dxdbgrid问题?
- 如何判断Panel里面有多少个CheckBox打勾了?
- 请大家帮帮忙,关于属性的知识很简单的!!
- 关于popupmemu的问题
- 大哥,我要打印StringGrid能打点一下吗?
- 怎样用delphi播放mp3文件???
- 如何在程序中发信?(通过调用系统默认的发信客户软件)
- 用Delphi 5 调用 VC++ 6 的dll类中的函数出现问题(Access Violation)
- 密码保存在哪儿比较好?
- 我已经成功用socket应用ftp协议下载,但是通过代理服务器时,还有技术问题没解决,请高手进来!!!
- 散分,去旅游,各位有何介绍?D友,可以组团呀。。。。。。。。。。
我以前做过一个机房管理的系统,可以控制所有PC机关机和重启,开机是通过用食指单击机箱上的Power键
开机是通过用食指单击机箱上的Power键
不服不行~~!
用ExitWindowsEx()API 实现关机,
在2000下要有相应的权限
procedure Shutdown;
var
hToken:THANDLE;
tkp:TTokenPrivileges;
Rl:Dword;
begin
if OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,hToken) then
begin
LookupPrivilegeValue(nil,'SeShutdownPrivilege',tkp.Privileges[0].Luid);
tkp.PrivilegeCount:= 1;
tkp.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,tkp,SizeOf(tkp),tkp,Rl);
ExitWindowsEx(EWX_SHUTDOWN or EWX_ForCE, 0);
end;
end;
开机请高手指教;
估计得用到网卡唤醒