Check min SHUTDOWN
-----------------------
procedure TForm1.Button1Click(Sender: TObject);
var
TokenHandle: THandle;
NewState, PreviousState: TTokenPrivileges;
ReturnLength: DWORD;
begin
//
// ONLY run this part if system is NT based (NT,2K,XP)
//NT PART BEGIN
if not OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or
TOKEN_QUERY, TokenHandle) then
RaiseLastWin32Error;
try
NewState.PrivilegeCount := 1;
if not LookupPrivilegeValue(nil, 'SeShutdownPrivilege',
NewState.Privileges[0].LUID) then
RaiseLastWin32Error;
NewState.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
ReturnLength := 0;
if not AdjustTokenPrivileges(TokenHandle, False, NewState,
SizeOf(NewState), PreviousState, ReturnLength) then
RaiseLastWin32Error;
finally
CloseHandle(TokenHandle);
end;
// NT PART END
// Now...execute the shutdown, and kill everything
if not ExitWindowsEx(EWX_FORCE or EWX_POWEROFF or EWX_SHUTDOWN, 0) then
RaiseLastWin32Error;
-----------------------
Håber det kan hjælpe dig...
Venligst
Ingolf
"Peter Hansen" <mail@davision.dk> wrote in message
news:3c7351e4$1@news.wineasy.se...
> Hejsa
>
> Jeg bruger følgende linie til at få lukket windows med med
> exitWindowsEx(EWX_FORCE,0), dette skulle gerne ske uanset om brugeren har
> nogle programmer åben og data ikke er gemt, men
> Det sker bare ikke, den kommer kun ud til login dialogboxen????
> Det drejer sig om maskiner der bruger windows 98, og jeg vil gerne have at
> maskinen enten slukker eller siger at det er ok at slukke maskinen. Er der
> nogle der kan hjælpe mig med mit problem...
> PS Jeg har også prøvet de andre EWX_LOGOFF f.eks.
>
> MVH
>
>
>
|