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

Kako ugasiti komp???

[es] :: .NET :: Kako ugasiti komp???

[ Pregleda: 3530 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ajz
Jovanovic Aleksandar
Pancevo

Član broj: 55803
Poruke: 55
194.106.171.*



Profil

icon Kako ugasiti komp???27.11.2005. u 20:30 - pre 223 meseci
Koristim VS2005 C# i trebam da ugasim komp.
Kako???
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-)
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
*.beotel.net.



Profil

icon Re: Kako ugasiti komp???27.11.2005. u 22:41 - pre 223 meseci
Probaj na
Start->Shutdown ili na dugme
 
Odgovor na temu

surferxyz

Član broj: 45411
Poruke: 55
195.222.35.*



Profil

icon Re: Kako ugasiti komp???28.11.2005. u 09:00 - pre 223 meseci
api
 
Odgovor na temu

Deep|Blue
Srce Srbije

Član broj: 631
Poruke: 1431
*.yu1.net.

ICQ: 101830817


+314 Profil

icon Re: Kako ugasiti komp???28.11.2005. u 10:05 - pre 223 meseci
shutdown.exe -s

[Ovu poruku je menjao Deep|Blue dana 28.11.2005. u 11:05 GMT+1]
"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"
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: Kako ugasiti komp???28.11.2005. u 13:13 - pre 223 meseci
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#
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ć
 
Odgovor na temu

Andrej Čvoro

Član broj: 10151
Poruke: 848
195.252.90.*



+2 Profil

icon Re: Kako ugasiti komp???28.11.2005. u 21:28 - pre 223 meseci
Citat:
sstanko78: Probaj na
Start->Shutdown ili na dugme


Definitivno
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
*.beotel.net.



Profil

icon Re: Kako ugasiti komp???30.11.2005. u 09:15 - pre 223 meseci
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.


[Ovu poruku je menjao sstanko78 dana 30.11.2005. u 10:18 GMT+1]
 
Odgovor na temu

ntadic
bg

Član broj: 38173
Poruke: 75
194.106.174.*

ICQ: 317199697


Profil

icon Re: Kako ugasiti komp???01.12.2005. u 11:47 - pre 223 meseci
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...
I tako...
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: Kako ugasiti komp???02.12.2005. u 13:41 - pre 223 meseci
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.


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ć
 
Odgovor na temu

[es] :: .NET :: Kako ugasiti komp???

[ Pregleda: 3530 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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