Novo

Forum kao aplikacija na telefonu

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

  • 8 odgovora
  • 4.802 pregleda

Najnovija ↓

Kako ugasiti komp??? 27.11.2005. u 21:30 · pre 254 meseca #1
Koristim VS2005 C# i trebam da ugasim komp.
Kako???
Potpis
svaki električni uređaj radi na beli dim koji se nalazi u njemu; kada beli dim izađe, uređaj više ne radi. 8-)
Re: Kako ugasiti komp??? 28.11.2005. u 11:05 · pre 254 meseca
izmenjeno 1 put, poslednji put Deep|Blue 28.11.2005. u 11:05
  1. Deep|Blue28.11.2005. u 11:05zapis iz teksta poruke
#4
shutdown.exe -s
Potpis
"Hmmm", rekao je, "...suprostavlja se nadrealizmu prikrivene metafore..." Razmišljao je tome na trenutak, a onda je zatvorio beležnicu s mrkim osmehom.
"I smrt je za njih suviše dobra"
Re: Kako ugasiti komp??? 28.11.2005. u 14:13 · pre 254 meseca #5
Shutdown.exe je ok resenje, ali zavisi od prisustva tog fajla (pretpostavljam da ga niko ne brise al uvek ima izuzetaka :)). Postoji nacin da se shutdown obavi iz samog C# koda, pored toga shutdown.exe ne postoji na Windows 2000, dok donji kod radi i na tom OS-u

Pogledaj ovaj link za kod kojim se radi shutdown/restart iz C#-a:

About Shutdown Win XP with C#
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: Kako ugasiti komp??? 30.11.2005. u 10:15 · pre 254 meseca
izmenjeno 1 put, poslednji put sstanko78 30.11.2005. u 10:18
  1. sstanko7830.11.2005. u 10:18zapis iz teksta poruke
#7
Pogledao sam gornji link. To sa c# je prilicno komplikovano,
mi smo api pozive radili u managed c++ to je bilo
tamo nesto jednostavnije. Sve funkcije
koje pozivaju WinAPI smo imali u jednom dll.
Re: Kako ugasiti komp??? 01.12.2005. u 12:47 · pre 254 meseca #8
Ja sam iz VB6 gasio komp pozivom funkcije ExitWindowsEx, bez problema. Ali to je bila, stara, dobra 98.

Na NT (tj. win2000 pa na ovamo...) je pricha drugachija, morash da se petljash sa permition-ima i process-ima...
Potpis
I tako...
Re: Kako ugasiti komp??? 02.12.2005. u 14:41 · pre 254 meseca #9
Citat:
sstanko78: Pogledao sam gornji link. To sa c# je prilicno komplikovano,
mi smo api pozive radili u managed c++ to je bilo
tamo nesto jednostavnije. Sve funkcije
koje pozivaju WinAPI smo imali u jednom dll.

Vecina koda iz tog primera je podesavanje API poziva za PlatforInvoke, isto to u C++-u imas u .h fajlovima, samo sto ti je to neko vec pripremio unapred :). Ako ti bas izgleda pretrpano ti izdvoji te deklaracije u posebnu klasu...

Glavna igranka je u ovom kodu:

Code:

bool ok;
TokPriv1Luid tp;
IntPtr hproc = GetCurrentProcess();
IntPtr htok = IntPtr.Zero;
ok = OpenProcessToken( hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok );
tp.Count = 1;
tp.Luid = 0;
tp.Attr = SE_PRIVILEGE_ENABLED;
ok = LookupPrivilegeValue( null, SE_SHUTDOWN_NAME, ref tp.Luid );
ok = AdjustTokenPrivileges( htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero );
ok = ExitWindowsEx( flg, 0 );


Za Windows NT/XP/2000/2003/Vista postoji SE_SHUTDOWN privilegija. Za razliku od prava (rights), privilegije se ne vezuju za tvoj security token automatski vec moras sam da ih zatrazis ako i kad ti trebaju (to izmedju ostalog omogucava logovanje upotrebe privilegija u EventLog-u). Gornji primer uzima security token trenutne aplikacije (dakle tvoj token) sa namerom da ga promeni (TOKEN_ADJUST_PRIVILEGES); locira sistemsku vrednost za SE_SHUTDOWN_NAME, i na tvoj token veze SE_SHUTDOWN privilegiju kao enabled. Tek onda mozes da pozoves ExitWindowsEx...

Veruj mi, ne postoji jednostavniji nacin, alternativa je preko PowerManagment API-a, ali tu ustedis mozda liniju koda a rizikujes da PowerManagment servis bude ugasen i da ti kod prsne.

Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme