[ Crazy Mix @ 08.12.2003. 19:38 ] @
Kako da moj program primeti (i zaustavi ili odlozi za 5-6 sekundi) shutdown/restart proces u Windows-u?

Hvala
[ morlic @ 08.12.2003. 19:58 ] @
windows salje poruku WM_QUERYENDSESSION programima kada se gasi/restartuje. potrebno je da uhvatis tu poruku i odradis sta treba. Ne mozes da odlozis na 5-6 sekundi. Jedino da otkazes (AbortSystemShutdown) ali to povlaci sa sobom neke druge preduslove za koje je pitanje da li ces ih imati...
[ Crazy Mix @ 09.12.2003. 18:32 ] @
Jel moze to malo preciznije (recimo code, odnosno procedura)?
Plzzzz
[ morlic @ 09.12.2003. 18:53 ] @
U programu u unitu glavne forme dodaj:

Code:

 ....
public
// U public delu glavne forme
procedure Gasenje(var Message: TMessage); Message WM_QUERYENDSESSION;
...

// U implementation delu dodas
procedure TForm1.Gasenje(var Message: TMessage);
begin
     // Ono sto zelis da se uradi kada dobijes poruku stavi ovde
end;
[ Crazy Mix @ 09.12.2003. 18:56 ] @
Hvala mnogo!

Nisam jos probao, ali znam da ce da radi... Hvatao sam pre neke poruke... nesto kako zameniti celu formu sa captionbar-om... odnosno da form predstavlja caption bar (da mozes da pomeras form)... ali nije ni bitno


HVALA

P.S. A kako da prekinem proces gasenja?
[ Crazy Mix @ 10.12.2003. 09:41 ] @
E uspeo sam da prekinem...
Ali u stvari on ga odlozi (WinXP)...
Posle 5-6 sekundi mi izbaci "End Program" i sam ga zatvara...

pogledaj kod:
Code:

if directoryexists('a:\') then begin
AbordSystemShutdown('');
showmessage('Yo, imas disketu u floppy-ju'); //nije ovakav originalni kod...
end;


Nesto tu ne stima... kapirao sam kada sam prvo prikazivao poruku pa onda prekidao shutdown, ali i ovako isto izbacuje...
[ morlic @ 10.12.2003. 10:59 ] @
Windows prvo proba "fino" da opomene na gasenje. Oni koji se ne odazovu bivaju ugaseni. Sve ovo moze usporiti shutdown ali ga ne odlaze.
[ Brkic @ 28.07.2008. 21:14 ] @
Da ne pokrecem novu temu postavio bih jedno pitanje...

postoji li mogucnost nekog coda da prinudno ugasi racunara,znaci kao kada se drzi power dugme 5 sec i ugasi se ceo racinar ????
[ savkic @ 28.07.2008. 23:21 ] @
> postoji li mogucnost nekog coda da prinudno ugasi racunara,znaci kao kada se drzi power dugme 5 sec i ugasi se ceo racinar ????

Verovatno će ti biti najlakše pomoću JEDI funkcija, PowerOffOS/ExitWindows u JclMiscel.pas. Ne zaboravi da tvoj proces mora imati prava za gašenje računara.
[ Brkic @ 29.07.2008. 20:12 ] @
Da probao sam sa ExitWindows(EWX_POWEROFF,0) iz JclMiscel.pas ali se ponasa kao redovno gasenje win-a a meni treba da odmah iskljuci napajanje.
Ili sam pogresio u necemu ?
[ X Files @ 29.07.2008. 20:48 ] @
To što pominješ u vezi 5 sekundi zadrške na Power tasteru je čist hardverski shut-down mašine, koji nema nikakve veze sa OS-om. Možda grešim, ali mislim da takav ultimativni 'programski interfejs' ka hardveru jednostavno ne postoji jer bi bio u suprotnosti sa nekim opštim pravilima u funkcionisanju OS-ova.
[ Brkic @ 30.07.2008. 09:21 ] @
Znam da je pritiskom na Power dugme hardverski shut-down mašine ali sam mislio da se mozda moze nekako preskociti Shutdown win-a i da se samo izazove Power OFF.

Moguce je da ne moze.