Jak zamknąć system...

0

Jak zamknąć system tylko tak, aby nie zatrzymał się na żadnym komunikacie typu: "istnieje połączenie sieciowe" lub "program czeka na twoja rekcje"...???

zamknięcie systemu bez względu na otworzone programy i połączenia sieciowe...

POZDRAWIAM!

0

ExitWindowsEx z flagą EWX_Force, poza tym: FAQ, Artykuły, Gotowce, wyszykiwarka

0

ExitWindowsEx z flagą EWX_Force, poza tym: FAQ, Artykuły, Gotowce, wyszykiwarka

dobra dzieki, już wiem trzeba dodać flagi :)

0

rundll32 krnl386.exe, exitkernel bodajże. zamyka natychmiast windowsa, bez jakichkolwiek pytań i bez wyłączania komputera ATX

0

rundll32 krnl386.exe, exitkernel bodajże (...)

Brutal exit wygląda tak:
<font color="darkblue">rundll.exe kernel,exitkernel</span>
Używam go zawsze do wychodzenia z trybu awaryjnego - nie zapisuje przesunięcia ikon na pulpicie (po awaryjnym zawsze wszystkie są ściśnięte do 640x480 :-8)

0

rundll.exe kernel,exitkernel

Jak dokładnie tego użyć? Mogę prosić o gotową procedurkę, bo nie mogę wymyślić [wstyd]
A i jeszcze coś: Chce żeby to działało na XP.

Pozdrawiam!

0

shutdown -f -t 00

0

shutdown -f -t 00

Dzięki, ale chodziło mi o "Brutalne" zamykanie win'a.

0

rundll.exe kernel,exitkernel

Jak dokładnie tego użyć?

Ja to odpalam skrótem, ale masz 2 wyjścia - nie testowałem więc nie wiem, które zadziała i które lepsze.

1)
ShellExecute
odpalasz rundll.exe z parametrem "kernel,exitkernel"

2)

krnl := LoadLibrary("kernel.dll");
proc := GetProcAddress(krnl, "exitkernel");

i odpalasz proc

0

Może lepszym sposobem na Twój problem będzie po prostu hibernacja ? Po co od razu zamykać system na siłę ?

procedure SuspendOrHibernate( ASuspend,AForce : Boolean );
var
 iVersionInfo: TOSVersionInfo;
 iToken  : cardinal;
 iPriveleg : TTokenPrivileges;
 iaresult : cardinal;
begin
 FillChar (iPriveleg, SizeOf (iPriveleg), #0);

 iVersionInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);

 GetVersionEx(iVersionInfo);

 if iVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then begin
  Win32Check( OpenProcessToken (GetCurrentProcess,
         TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, iToken) );
  Win32Check( LookupPrivilegeValue (NIL,'SeShutdownPrivilege',
        iPriveleg.Privileges[0].Luid) );

  iPriveleg.PrivilegeCount := 1;
  iPriveleg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;

  Win32Check(AdjustTokenPrivileges(iToken,False,iPriveleg,
  Sizeof(iPriveleg), iPriveleg, iaresult));
 end;

 Win32Check( SetSystemPowerState( ASuspend, AForce ) );
end;

Użycie :

SuspendOrHibernate(false,false);
  • hibernuje bez pytania
0

Qrde próbuje i nie mogę...

Możecie mi powiedzieć, co jest nie tak w tej procedurze?

ShellExecute(handle, 'open', 'rundll.exe', 'kernel, exitkernel', nil, sw_hide)
0

Nie chcę być nachalnym, ale proszę o pomoc.

0

Qrde próbuje i nie mogę...

Możecie mi powiedzieć, co jest nie tak w tej procedurze?

ShellExecute(handle, 'open', 'rundll.exe', 'kernel, exitkernel', nil, sw_hide)

wychodzi Ci błąd? to chyba zadeklarować w części uses ShellApi;

0

sorry, nie zalogowałem się przedtem...i stąd ten Anonim :)

0

Nie, to nie to. Chodzi o to, że procedurka nic nie robi!! Klikam i nic. Może ma związek to, że pracuje na win XP. POMOCY!!

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