anulowanie wylaczania kompa...

0

poszperalem troche po sieci i poskladalem takie cos

procedure TForm1.ClosingWin(var Message: TMessage);
begin
  if Message.Msg = WM_QUERYENDSESSION then
    begin
WinExec('shutdown -a', SW_HIDE);
    end;
  DefaultHandler(Message)
end;

niestety to nie chce dzialac :( komputer nadal sie normalnie wylacza... a nie powinien...

0

mi to działa :D
mam win XP H.E. SP2.

niewiem dlaczego tobie nie działa...

0

a ja mam XP Pro SP2 i mi nie chodzi...

program uruchamiam daje start-wylacz i komputer mi sie normalnie wylacza... :(

0
dominatorek napisał(a)

poszperalem troche po sieci i poskladalem takie cos

procedure TForm1.ClosingWin(var Message: TMessage);
begin
  if Message.Msg = WM_QUERYENDSESSION then
    begin
WinExec('shutdown -a', SW_HIDE);
    end;
  DefaultHandler(Message)
end;

niestety to nie chce dzialac :( komputer nadal sie normalnie wylacza... a nie powinien...

A dobrze zadeklarowałeś prockę?

btw. mi to wygląda na coś do jakiegoś trojana czy czegoś :P

0
type
  TForm1 = class(TForm)
  private
  procedure ClosingWin(var Message: TMessage); message WM_QUERYENDSESSION;
    { Private declarations }
  public
    { Public declarations }
  end;
  

to nie jest zaden trojan. po prostu mam swoj program i potrzebuje tam miec wlasnie anulowanie wylaczenia kompa...

0

ten if jest zbędny... bo zdarzenie reaguje tylko na ten jeden komunikat...
dalej... zostaw tylko:

WinExec('shutdown -a', SW_HIDE);

w tym zdarzeniu, u mnie działa ;)

0

faktycznie bez tego IF dziala :) komputer sie nie wylacza, ale za to wszystkie programy jakdzie dzialaja zostaja wylaczone... oprócz tego jednego :) da sie temu kalps zapobiec ? aby nie wylaczalo tych wszystkich programow ?

0

chyba nie bardzo... bo pomyśl, że ty wykrywasz WM_QUERYSESSIONCLOSE, ale inne aplikacje przed tobą też :] i one się zamykają

0

a wlasnie, tak z ciekawosci... od czego zalezy kolejnosc wedlug ktorej komunikat jest rozsylany?
od PIDu?

0

Nie całkiem od PIDu, procesy są zapisane w postaci listy w pamięci kernela, wedle kolejności na tej liście.

0

na liscie procesow? (po nazwie pliku procesu) czy po Application.title ? ciekawe by bylo...

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