Problem z SHUTDOWN

0

Problem mam następujący:
Mam XP, i przy wywołaniu zamknięcia systemu tak jak jest to pokazane w FAQ po pierwsze wywala komunikat o błędnej inicjacji shutdown.exe , a po drugie zamyka system ale pozostawia jakże niechciany w moim przypadku ekran "Możesz bezpiecznie wyłączyć komputer".
Jak to obejść??
(i co u lich jest z tą inicjacją?)

Za wszelkie wskazówki z góry THX :)

0

bledne paramerty (prawdopodobnie)

mi tez tak nie dziala jak jest w FAQ dlatego uzylem skrotu Windows, tam podalem poprawna sciezke dostepu i w delphi tylko ten skrot uruchamiam, wiem prymitywne, ale mi wystarcza :) (i dziala :-) )

0

Na www.torry.net jest procedura specjalnie napisana pod WinNt,2000,XP która zamyka system.Jest ona całkiem spora.

0

fajnie ze dales linka .............. :(

0

Ja do zamykania Windows XP stosuje taki kodzik:
WinExec('shutdown.exe -s -f -t 0', SW_HIDE); :)

0

Po co używać programu shutdown.exe,przeciez do zamykania XP jest procedura!Nawet na 4programmers,program z kodem nazywa się chyba WinExit,lub Exit po prostu.Wiem bo sam tej procedury używałem.Zamiast "shutdown" trzeba wpisać PowerOff.

//poza tym w mówisz o zamknięciu SYSTEMU(windows),a NIE komputera.
Jak sie zamyka SYSTEM to jest taki komunikat!

0

znalazlem cos super, wszytskie inne z forum to shit przy tym :

function MyExitWindows(RebootParam: Longword): Boolean;
var
TTokenHd: THandle;
TTokenPvg: TTokenPrivileges;
cbtpPrevious: DWORD;
rTTokenPvg: TTokenPrivileges;
pcbtpPreviousRequired: DWORD;
tpResult: Boolean;
const
SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
begin
if Win32Platform = VER_PLATFORM_WIN32_NT then
begin
tpResult := OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
TTokenHd);
if tpResult then
begin
tpResult := LookupPrivilegeValue(nil,
SE_SHUTDOWN_NAME,
TTokenPvg.Privileges[0].Luid);
TTokenPvg.PrivilegeCount := 1;
TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
cbtpPrevious := SizeOf(rTTokenPvg);
pcbtpPreviousRequired := 0;
if tpResult then
Windows.AdjustTokenPrivileges(TTokenHd,
False,
TTokenPvg,
cbtpPrevious,
rTTokenPvg,
pcbtpPreviousRequired);
end;
end;
Result := ExitWindowsEx(RebootParam, 0);
end;

// Example to shutdown Windows:

procedure TForm1.Button1Click(Sender: TObject);
begin
MyExitWindows(EWX_POWEROFF or EWX_FORCE);
end;

// Example to reboot Windows:

procedure TForm1.Button1Click(Sender: TObject);
begin
MyExitWindows(EWX_REBOOT or EWX_FORCE);
end;

z www.torry.net - zamyka chyba wszytskie znane windowsy :P

pozdrawiam

0

O to mi właśnie chodzło! [hurra]

0

Maine god, tek kodzik co podał Kane, jest w faq! i to siedzi tam od dłuzszego czasu...

1 użytkowników online, w tym zalogowanych: 0, gości: 1