想要在某个时间之前开机,程序能够
1,自动关机,
2,或者可以锁定键盘,鼠标,
3,或者可以禁止打开IE,
请各位大侠给小弟一点提示。先行谢过!
1,自动关机,
2,或者可以锁定键盘,鼠标,
3,或者可以禁止打开IE,
请各位大侠给小弟一点提示。先行谢过!
解决方案 »
- datetimepicker的问题
- 为什么相同的分辨率下!win2k系统编译的程序到win98运行后界面变大呢??
- 谁能提供一些报表组件或者网址啊。谢谢
- 向高手请教XP风格菜单设计的问题
- 工作难找,心情不好,坛子开了,专家会丢了,收藏夹空了散100
- Delphi注册表构件Tregistry
- Delphi ADO MsSqlServer 隐形事务
- 请问各位高手,delphi6中的DBCtrlGrid控件是否可以多选?如果想在数据集中多选的话如何写代码?
- 关于Chart的问题,请教!
- 还有更方便的方法吗?
- 各位大侠,怎么调用shellexecute?
- 在深圳MS SQL SERVER开发管理员多少钱一个月?
2.EnableWindow(GetDesktopWindow(),false);
另外看看这个SystemParamInfo没有记清,不知是否确切
首先定义常数
const
EWX_FORCE=4; file://关闭所有程序并以其他用户身份登录
EWX_LOGOFF=0; file://重新启动计算机并切换到MS-DOS方式
EWX_REBOOT=2; file://重新启动计算机
EWX_SHUTDOWN=1;//关闭计算机
运行时给How赋值,让他等于EWX_SHUTDOWN或其他,调用以下语句
ExitWindowsEx(How,0);
var
hdlProcessHandle : Cardinal;
hdlTokenHandle : Cardinal;
tmpLuid : Int64;
tkpPrivilegeCount : Int64;
tkp : TOKEN_PRIVILEGES;
tkpNewButIgnored : TOKEN_PRIVILEGES;
lBufferNeeded : Cardinal;
Privilege : array[0..0] of _LUID_AND_ATTRIBUTES;
begin
hdlProcessHandle := GetCurrentProcess;
OpenProcessToken(hdlProcessHandle,
(TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY),
hdlTokenHandle); // Get the LUID for shutdown privilege.
LookupPrivilegeValue('', 'SeShutdownPrivilege', tmpLuid);
Privilege[0].Luid := tmpLuid;
Privil
ege[0].Attributes := SE_PRIVILEGE_ENABLED;
tkp.PrivilegeCount := 1; // One privilege to set
tkp.Privileges[0] := Privilege[0];
// Enable the shutdown privilege in the access token of this
// process.
AdjustTokenPrivileges(hdlTokenHandle,
False,
tkp,
Sizeof(tkpNewButIgnored),
tkpNewButIgnored,
lBufferNeeded);end;
******************
在Windows2000下关闭计算机
function ShutDownSystem():BOOL;
var
hProcess,hAccessToken:THandle;
LUID_AND_ATTRIBUTES:TLUIDAndAttributes;
TOKEN_PRIVILEGES: TTokenPrivileges;
BufferIsNull:DWORD;
Const
SE_SHUTDOWN_NAME='SeShutdownPrivilege';
begin
hProcess:=GetCurrentProcess();OpenProcessToken(hprocess,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,hAccessToken);
LookupPrivilegeValue(Nil,SE_SHUTDOWN_NAME,LUID_AND_ATTRIBUTES.Luid);
LUID_AND_ATTRIBUTES.Attributes:=SE_PRIVILEGE_ENABLED;
TOKEN_PRIVILEGES.PrivilegeCount:=1;
TOKEN_PRIVILEGES.Privileges[0]:=LUID_AND_ATTRIBUTES;
BufferIsNull:=0;AdjustTokenPrivileges(hAccessToken,False,TOKEN_PRIVILEGES,sizeof(TOKEN_PRIVI
LEGES),Nil,BufferIsNull);
ExitWindowsEx(EWX_REBOOT, 0);
ShutDownSystem:=True;
end;
EWX_LOGOFF //注销
EWX_REBOOT //重启
EWX_SHUTDOWN //关闭
在2000下关机要设置权限。
在98下蔽键盘鼠标。。使用SystemParametersInfo(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni );
2000下要如果要屏蔽系统键要使用钩子函数。禁止IE 修改注册表;