Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Shutdown

[es] :: Windows desktop :: Shutdown

[ Pregleda: 4714 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

salec

Član broj: 6527
Poruke: 1738
*.rcub.bg.ac.yu



+25 Profil

icon Shutdown11.09.2003. u 15:10 - pre 227 meseci
Kako da izvedem shutdown racunara (bez pitanja!) iz .bat skripta ili pozivom neke API funkcije?

Hteo bih da mogu da ogranicim koriscenje racunara neukim korisnicima na samo odredjene sate u toku dana, pa mi je prvi grub plan bio nesto kao:

int main(void)
{
if ( banned_hours( get_system_time() ) )
shutdown();
}

koji bi se aktivirao pri startupu. U vecini prirucnika za razne programske jezike upotrebljive pod windowsima moze se naci funkcija za citanje RTC-a, ali za shutdown...neki racunari ni nemaju ATX (ovaj o kom se radi ima).
Windows je devedesetosmica.
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Shutdown11.09.2003. u 15:24 - pre 227 meseci
Ne znam C++, ali evo sta sam nasao preko Google-a :
Code:

BOOL MySystemShutdown()
{
  HANDLE hToken;
  TOKEN_PRIVILEGES tkp;

  // Get a token for this process.

  if (!OpenProcessToken(GetCurrentProcess(),
       TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
     return( FALSE );

  // Get the LUID for the shutdown privilege.

  LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
       &tkp.Privileges[0].Luid);

  tkp.PrivilegeCount = 1;  // one privilege to set
  tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

  // Get the shutdown privilege for this process.

  AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
       (PTOKEN_PRIVILEGES)NULL, 0);

  if (GetLastError() != ERROR_SUCCESS)
     return FALSE;

  // Shut down the system and force all applications to close.

  if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))
     return FALSE;

  return TRUE;
}


treba da ukljucis i 'windows.h', ma sta da je to... (mislim da je nesto kao unit u pascalu)
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12819



+4754 Profil

icon Re: Shutdown11.09.2003. u 22:11 - pre 227 meseci
Nemam 98-icu na kojoj bih probao ali bi ovo trebalo da radi:
C:\WINDOWS\RUNDLL32.EXE user.exe,exitwindows

Takodje pogledaj API f-ju ExitWindowsEx ako i InitiateSystemShutdown ako hoces da prikazes neku poruku i sl. mada se ova druga mislim moze obici sa shutdown -a (ako ovo postoji na 98-ici).
 
Odgovor na temu

salec

Član broj: 6527
Poruke: 1738
*.rcub.bg.ac.yu



+25 Profil

icon Re: Shutdown12.09.2003. u 08:44 - pre 227 meseci
Ovo ne radi (ispise "Error in user.exe Missing entry:exitwindows"):

Code:
C:\WINDOWS\RUNDLL32.EXE user.exe,exitwindows


Posto me je zaintrigiralo, nasao sam fajl user.exe i uradio QuickView iz kontekst menija, ne bi li nasao neke labele i sl., ali na moje iznenadjenje QuickView je prikazao opis interfejsa, izmedju ostalog i spisak entry-ja. Negde pri kraju dugacke liste entrija nalazi se i "EXITWINDOWSEXEC" sto mi zvuci nalik na to sto trazim, ali kad sam u komand prompt upisao:
Code:
C:\WINDOWS\RUNDLL32.EXE user.exe,EXITWINDOWSEXEC
nisam dobio ikakvu poruku o gresci, ali takodje se nista nije ni dogodilo. Pretpostavljam da je funkcija izvrsena, ali nije imala dejstvo zbog neceg drugog. Inace na vrhu opisa koji da QV stoji:
Code:
DYNAMIC LINK LIBRARY 
16 bit for Windows 3.x
mozda to ima neke veze sa ignorisanjem EXITWINDOWSEXEC-a od strane 98-ice?
 
Odgovor na temu

salec

Član broj: 6527
Poruke: 1738
*.rcub.bg.ac.yu



+25 Profil

icon Re: Shutdown19.09.2003. u 08:55 - pre 227 meseci
Ljudi, ne znam sta je u pitanju, onaj dan mi nikako nije uspelo da izvrsim "exitwindows" ali danas sam probao na tri razlicita racunara (ukljucujuci i onaj na kom sam probao ranije) i na svakom je radilo!

Izvinjavam se zbog prethodne dezinformacije.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12819



+4754 Profil

icon Re: Shutdown19.09.2003. u 13:08 - pre 227 meseci
Exitwindowsexec koliko bi se secam trebalo da restartuje racunar (ili samo Windows tako sto ode u DOS mode a onda ponovo pokrene Win). Inace misim da bolje mozes da vidis funkcije pomocu Dependency Walker-a ali nisam siguran da li to moze i sa .exe fajlovima ili samo sa .dll-ovima.
 
Odgovor na temu

Billy_boy

Član broj: 13944
Poruke: 354
*.cmu.carnet.hr



Profil

icon Re: Shutdown28.09.2003. u 15:28 - pre 227 meseci
Nisam 100% siguran za shut down, ali ovoti je za restart:

"rundll32.exe shell32.dll,SHExitWindowsEx 2"

Postoje i:

"rundll32.exe shell32.dll,SHExitWindowsEx 1"
"rundll32.exe shell32.dll,SHExitWindowsEx"

Jedno od toga je log off, a drugo shut down.

Rade u:
-start/run
-bat scripti
-Bilo komu programu, ali moras ispred ubaciti naredbu za porketanje windows programa (ne znam treba li ubaciti stazu rundll32, ali mislim da windowsi sami prepoznaju jer je spremljna u run naredbe). (Provjereno u QBasicu)


Ovo sigurno radi na Win98!

P.S. Pazi na velika slova
 
Odgovor na temu

Sasa Vitorovic
Beograd

Član broj: 11629
Poruke: 193
*.ptt.yu

Sajt: www.ptt.yu/korisnici/s/a/..


Profil

icon Re: Shutdown07.07.2004. u 13:57 - pre 217 meseci
Citat:
Billy_boy: ...ali moras ispred ubaciti naredbu za porketanje windows programa ...

Moze neki primer,ne razumem kakav win program!
Imam winxp, a koristim Visual Basic 6.0.
U fudbalu je vazno jedno:a to su dve stvari:rad ,red i disciplina.
 
Odgovor na temu

[es] :: Windows desktop :: Shutdown

[ Pregleda: 4714 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.