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

Program napisan u jeziku C za restart PC

[es] :: C/C++ programiranje :: Program napisan u jeziku C za restart PC
(Zaključana tema (lock), by X Files)
Strane: 1 2

[ Pregleda: 7899 | Odgovora: 28 ] > FB > Twit

Postavi temu

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

blackZer0

Član broj: 93865
Poruke: 3
*.ptt.yu.



Profil

icon Program napisan u jeziku C za restart PC31.01.2007. u 22:14 - pre 209 meseci
kako da napisem program normalno u jeziku C, koji ce kada se pokrene iz windowsa prikazati neku poruku i posle nekoliko sekundi restartovati racunar?
 
0

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: Program napisan u jeziku C za restart PC31.01.2007. u 22:45 - pre 209 meseci
http://www.computerhope.com/shutdown.htm#01

Code:
system( "shutdown -r -f -t 03" );


Nije testirano.

 
0

caiser

Član broj: 4677
Poruke: 2462
*.karneval.cz.

ICQ: 162962030


Profil

icon Re: Program napisan u jeziku C za restart PC31.01.2007. u 22:59 - pre 209 meseci
Wow, nisam znao da windows ima shutdown komandu. Ovo ce mi lepo doci. :)
 
0

blackZer0

Član broj: 93865
Poruke: 3
*.ptt.yu.



Profil

icon Re: Program napisan u jeziku C za restart PC01.02.2007. u 19:16 - pre 209 meseci
a koju bibliotecku funkciju da pozovem, da li moze neko da mi napise konkretno program kako bi trebalo da izgleda...
 
0

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
218.1.28.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Program napisan u jeziku C za restart PC02.02.2007. u 01:30 - pre 209 meseci
Funkcija je, kao što ti je NrmMyth rekao, "system" a da bi mogao da
je zoveš moraš include-ovati <process.h>. Inače kada se već govori
o shutdown komandi, pretpostavka je da je u pitanju windows pa
to možeš uraditi i preko WIN API-ja, samo u tom slučaju moraš da
se igraš sa menjanjem ring level-a da bi imao prava da resetuješ mašinu.

 
0

Shadowed
Vojvodina

Član broj: 649
Poruke: 12848



+4784 Profil

icon Re: Program napisan u jeziku C za restart PC02.02.2007. u 01:37 - pre 209 meseci
Zasto bi morao da menja ring-level? Ako user koji pokrece program ima pravo da iskljuci racunar (a to ima cak i limited user), imace i program.
 
0

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Program napisan u jeziku C za restart PC02.02.2007. u 07:57 - pre 209 meseci
Postoji cela istorija 'načina' kako se može 'zagasiti' Windows, a postoji i istorija problem
koji su pratili te načine, u zavisnosti od toga koja su prava i privilegije postavljeni.

Pored pomenutog system( "shutdown -r -f -t 03" ), koji je univerzalni wrapper
koji bi trebalo da radi, Windows se gasi sa API-jem:
Code:

ExitWindowsEx();

... pri čemu prethodno treba imati određene privilegije. Ukoliko me pamćenje dobro služi
(na osnovu prijava korisnika po raznoraznim forumima), nekad nije dovoljno biti korisnik sa
Admin pravima da bi se Windows ugasio, restartovao ili promenio User.
Prethodno je potrebno pozvati:
Code:

AdjustTokenPrivileges()

... jer ExitWindowsEx() zahteva da 'calling process' ima SE_SHUTDOWN_NAME
privilegije. Mislim da je to u suštini ovo (uvo uzeti sa rezervom):

START: Control Panel > Administrative Tools > Local Security Settings
STABLO: Security Settings > Local Policies > User Rights Assignment
STAVKA: Shut down the system [Add user]

Evo jedan primer (baziran na API-ju) koji sve to ima upakovano u jednu funkciju:
Code:

void SystemShutDown( int mode )
{
   HANDLE hToken;
   TOKEN_PRIVILEGES tkp;

   // AnsiString error;
   string error;

   // Get a token for this process.
   if ( !OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) )
      error = "OpenProcessToken";

   // 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 );

   // Cannot test the return value of AdjustTokenPrivileges.
   if ( GetLastError() != ERROR_SUCCESS )
      error = "AdjustTokenPrivileges";

   switch( mode )
   {
      // 0 = Forcefully close apps, shutdown and leave system at shutoff point
      case 0:   if ( !ExitWindowsEx( EWX_SHUTDOWN | EWX_FORCE, 0 ) )
                   error = "ExitWindowsEx";
                break;

      // 1 = Forcefully close apps, shutdown and reboot
      case 1:   if ( !ExitWindowsEx( EWX_REBOOT | EWX_FORCE, 0 ) )
                   error = "ExitWindowsEx";
                break;

      // 2 = Forcefully close apps, and logoff
      case 2:   if ( !ExitWindowsEx( EWX_LOGOFF | EWX_FORCE, 0 ) )
                   error = "ExitWindowsEx";
                break;

      // 3 = Forcefully close apps, shutdown and poweroff
      case 3:   if ( !ExitWindowsEx( EWX_POWEROFF | EWX_FORCE, 0 ) )
                   error = "ExitWindowsEx";
                break;
   }
}

 
0

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: Program napisan u jeziku C za restart PC02.02.2007. u 09:31 - pre 209 meseci
Citat:
tosa: Funkcija je, kao što ti je NrmMyth rekao, "system" a da bi mogao da
je zoveš moraš include-ovati <process.h>. Inače kada se već govori
o shutdown komandi, pretpostavka je da je u pitanju windows pa
to možeš uraditi i preko WIN API-ja, samo u tom slučaju moraš da
se igraš sa menjanjem ring level-a da bi imao prava da resetuješ mašinu.
Neznam kako, ali izgleda da je system() dio standarda:
http://www.opengroup.org/onlin...09695399/functions/system.html
I nalazi se u <stdlib.h>.
 
0

TerrorsChild
Zadar, Croatia

Član broj: 139503
Poruke: 15
*.adsl.net.t-com.hr.



Profil

icon Re: Program napisan u jeziku C za restart PC22.03.2007. u 21:11 - pre 207 meseci
Ovim putem bih se i predstavio kao novi član sam nekim iskustvom u C programiranju, C++-u, Asembleru, nešto malo C# i PHP. Nadam se da ču naučiti dosta ovdje. A sad back to topic (znam da je malo old, ali nije baš ni prahistorija so here it goes....)




Preuzeto sa gornjeg linka....
Citat:

int system(const char *command);


Mislim da to nije ista stvar, nema iste argumente. Ovo je deklinacija cjelobrojne varijable, a ne system funkcije.

Ipak, sad sam se zainteresirao za ovu verziju koda sa system() u sebi. Dali bi to trebalo izgledati nekako ovako:

Code:


#include <proces.h>
int main (void)
{
system ( "shutdown -r -f -t 03" );
return 0;
}




Ovo bi bila nekakva osnova. Ispravite me gdje griješim i pokažite mi kako da to izvedeme molim vas...
O Hrvatskoj...
"Te kad mi jednom se dušom po svemiru
se krene
Zaorit ču ko grom:
O, gledajte ju divnu, vi zvijezde udivljene,
To moj je, moj je dom!"
 
0

SuPeR_MaSteR
Marko Stamenković

Član broj: 88590
Poruke: 115
*.inffo.net.



Profil

icon Re: Program napisan u jeziku C za restart PC22.03.2007. u 23:59 - pre 207 meseci
Code:
int system(const char *command);

Citat:
TerrorsChild:
Mislim da to nije ista stvar, nema iste argumente. Ovo je deklinacija cjelobrojne varijable, a ne system funkcije.

A ja bih rekao da je to prototip funkcije system celobrojne povratne vrednosti, koja ima jedan argument - const pointer na tip char.
 
0

TerrorsChild
Zadar, Croatia

Član broj: 139503
Poruke: 15
*.adsl.net.t-com.hr.



Profil

icon Re: Program napisan u jeziku C za restart PC23.03.2007. u 06:09 - pre 207 meseci
Da, valjda si u pravu....
A jesi primjetio da imam jednu veliku grešku, napisao sam "DEKLINACIJA" cjelobrojne varijable, umjesto deklaracija. Kao da je imenica, lol


A kakav mi je onaj code gore, hoći li to raditi? Ispravci?
O Hrvatskoj...
"Te kad mi jednom se dušom po svemiru
se krene
Zaorit ču ko grom:
O, gledajte ju divnu, vi zvijezde udivljene,
To moj je, moj je dom!"
 
0

TerrorsChild
Zadar, Croatia

Član broj: 139503
Poruke: 15
*.adsl.net.t-com.hr.



Profil

icon Re: Program napisan u jeziku C za restart PC24.03.2007. u 08:45 - pre 207 meseci
I? Dali ima tko kakve ideje?
O Hrvatskoj...
"Te kad mi jednom se dušom po svemiru
se krene
Zaorit ču ko grom:
O, gledajte ju divnu, vi zvijezde udivljene,
To moj je, moj je dom!"
 
0

SuPeR_MaSteR
Marko Stamenković

Član broj: 88590
Poruke: 115
*.inffo.net.



Profil

icon Re: Program napisan u jeziku C za restart PC25.03.2007. u 12:17 - pre 207 meseci
Citat:
TerrorsChild: I? Dali ima tko kakve ideje?


A o kakvim ti idejama govoris?
Kompajliraj taj kode pa vidi da li ce raditi i ako nece zasto nece.
 
0

TerrorsChild
Zadar, Croatia

Član broj: 139503
Poruke: 15
*.adsl.net.t-com.hr.



Profil

icon Re: Program napisan u jeziku C za restart PC25.03.2007. u 22:24 - pre 207 meseci
Hmmmmm....za početak proces.h izgleda ne includa funkciju system. Treba se includati <stdlib.h>, jedino na taj način komplajer nije prijavio grešku, ali aplikaciju svejdeno nije učinila ništa. Pomoć molim....

Code:
#include <stdlib.h>

int main (void)

{

system ( "shutdown -r -f -t 03"  );

return 0;

}


O Hrvatskoj...
"Te kad mi jednom se dušom po svemiru
se krene
Zaorit ču ko grom:
O, gledajte ju divnu, vi zvijezde udivljene,
To moj je, moj je dom!"
 
0

TerrorsChild
Zadar, Croatia

Član broj: 139503
Poruke: 15
*.adsl.net.t-com.hr.



Profil

icon Re: Program napisan u jeziku C za restart PC27.03.2007. u 08:58 - pre 207 meseci
Hmmm....da nije možda stvar u argumentima funkcije system?
O Hrvatskoj...
"Te kad mi jednom se dušom po svemiru
se krene
Zaorit ču ko grom:
O, gledajte ju divnu, vi zvijezde udivljene,
To moj je, moj je dom!"
 
0

TerrorsChild
Zadar, Croatia

Član broj: 139503
Poruke: 15
*.adsl.net.t-com.hr.



Profil

icon Re: Program napisan u jeziku C za restart PC28.03.2007. u 20:20 - pre 207 meseci
Zar nitko nema ideje :(
O Hrvatskoj...
"Te kad mi jednom se dušom po svemiru
se krene
Zaorit ču ko grom:
O, gledajte ju divnu, vi zvijezde udivljene,
To moj je, moj je dom!"
 
0

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Program napisan u jeziku C za restart PC28.03.2007. u 21:50 - pre 207 meseci
Šta se događa kada komandu shutdown -r -f -t 03 ukucaš direktno u Command Prompt?

P.S.
Probaj i shutdown -s -t 00
 
0

TerrorsChild
Zadar, Croatia

Član broj: 139503
Poruke: 15
*.adsl.net.t-com.hr.



Profil

icon Re: Program napisan u jeziku C za restart PC29.03.2007. u 21:14 - pre 207 meseci
U command promtu mi ga ugasi sa obje solucije, ali aplikacije ne napravi ništa. Samo se izvede, nešto se procesira, ali ništa...


Pomoć molim....
O Hrvatskoj...
"Te kad mi jednom se dušom po svemiru
se krene
Zaorit ču ko grom:
O, gledajte ju divnu, vi zvijezde udivljene,
To moj je, moj je dom!"
 
0

TerrorsChild
Zadar, Croatia

Član broj: 139503
Poruke: 15
*.adsl.net.t-com.hr.



Profil

icon Re: Program napisan u jeziku C za restart PC30.03.2007. u 22:21 - pre 207 meseci
Što sad?
O Hrvatskoj...
"Te kad mi jednom se dušom po svemiru
se krene
Zaorit ču ko grom:
O, gledajte ju divnu, vi zvijezde udivljene,
To moj je, moj je dom!"
 
0

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Program napisan u jeziku C za restart PC31.03.2007. u 17:30 - pre 207 meseci
OK, evo upravo sam ukucao ovaj kod u Borland C++ Builder (konzolni tip aplikacije):
Code:

#include <stdlib.h>
int main (void)
{
   system ( "shutdown -r -f -t 03"  );
   return 0;
}

... i sistem se restartovao (pojavio se dijalog sa odbrojavanjem sekundi). Onaj drugi
bi najverovatnije odmah bez odbrojavanja restartovao sistem.

1. Koji kompajler si ti koristio?
2. Pogledaj da li ima uticaja Debug i Release verzija EXE-a.
3. Pogledaj da li ima uticaja kada EXE pokrenes uopste iz razvojnog okruzenja i onako kroz Explorer.
4. Probaj tvoj EXE na nekom drugom računaru, da vidiš da li se dešava isto.
5. U odnosu na ovo pod (4) treba videti sta dalje isproveravati. OS se nekad ne moze
restartovati.

Eto. Šta još može da se učini...
 
0

[es] :: C/C++ programiranje :: Program napisan u jeziku C za restart PC
(Zaključana tema (lock), by X Files)
Strane: 1 2

[ Pregleda: 7899 | Odgovora: 28 ] > FB > Twit

Postavi temu

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