本人打算用delphi编一个自动关机的程序,本人所知道的api可在win2k无法实现!
解决方案 »
- delphi 引用自定义函数报错
- 当变量A的值和combobox中一项相等,则让combobox显示为该项值,并获取该项所对应的itemindex
- delphi6中如何使用fastreport,fastreport在哪里下载?
- 在树状结构中已经存在节点,但我单击时没有单击任何节点,怎样让以前单击的节点的焦点消失?
- 请问怎么建立资源文件啊,并将其导入到应用程序中?
- 传统的C/S和MIDAS有什么区别?
- 谁打印DBGrid代码?不使用其他控件????
- 请高人将JAVA代码翻译成delphi代码.....
- 我加了一个计算字段后原来的字段怎么不见了
- TADOConnection和TADOQuery放在form2中,怎样在form1中应用?
- 贯通VCL
- 急急急!是不是在delphi中的uodate语句不支持from ,where 子句?
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;
是为了提高用户权限
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;
是为了提高用户权限