Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 6.062 pregleda

Najnovija ↓

Shutdown 11.09.2003. u 16:10 · pre 281 mesec #1
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.
Re: Shutdown 11.09.2003. u 16:24 · pre 281 mesec #2
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)
Re: Shutdown 11.09.2003. u 23:11 · pre 281 mesec #3
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).
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Shutdown 12.09.2003. u 09:44 · pre 281 mesec #4
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?
Re: Shutdown 19.09.2003. u 09:55 · pre 281 mesec #5
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.
Re: Shutdown 19.09.2003. u 14:08 · pre 281 mesec #6
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.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Shutdown 28.09.2003. u 16:28 · pre 281 mesec #7
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
Re: Shutdown 07.07.2004. u 14:57 · pre 271 mesec #8
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.
Potpis
U fudbalu je vazno jedno:a to su dve stvari:rad ,red i disciplina.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme