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

Program napisan u jeziku C za restart PC

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

[ Pregleda: 3162 | Odgovora: 28 ]

Postavi temu

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

blackZer0
blackZer0

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



Profil

icon Program napisan u jeziku C za restart PC31.01.2007. u 22:14

kako da napisem program normalno u jeziku C, koji ce kada se pokrene iz windowsa prikazati neku poruku i posle nekoliko sekundi restartovati racunar?
31.01.2007. u 22:14 

NrmMyth
Split, Kaštela

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



Profil

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

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


Nije testirano.


31.01.2007. u 22:45 

caiser
Karadzic Miljan
sys-admin wannabe
Brno

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

ICQ: 162962030
Sajt: www.miljan.org


Profil

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

blackZer0
blackZer0

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



Profil

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

tosa

Član broj: 1811
Poruke: 1264
218.1.28.*



Profil

icon Re: Program napisan u jeziku C za restart PC02.02.2007. u 01:30
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.


Soylent green: over 6 billion served!
02.02.2007. u 01:30 

Shadowed
.NET developer

SuperModerator
Član broj: 649
Poruke: 8807
*.migcomputers.co.yu.

Sajt: www.diskusije.net


Profil

icon Re: Program napisan u jeziku C za restart PC02.02.2007. u 01:37
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.
02.02.2007. u 01:37 

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Program napisan u jeziku C za restart PC02.02.2007. u 07:57
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;
   }
}


FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
02.02.2007. u 07:57 

NrmMyth
Split, Kaštela

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



Profil

icon Re: Program napisan u jeziku C za restart PC02.02.2007. u 09:31
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.
ne znam kako, ali izgleda da je system() dio standarda:
http://www.opengroup.org/onlin...09695399/functions/system.html
I nalazi se u <stdlib.h>.
02.02.2007. u 09:31 

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
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!"
22.03.2007. u 21:11 

SuPeR_MaSteR
Mladen Krstic
Loznica

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

Sajt: mladen.krsticc.net


Profil

icon Re: Program napisan u jeziku C za restart PC22.03.2007. u 23:59
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.
Ako ne mozes da pobedis, mozes poraz da prihvatis kao deo procesa dobijanja.
22.03.2007. u 23:59 

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
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!"
23.03.2007. u 06:09 

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
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!"
24.03.2007. u 08:45 

SuPeR_MaSteR
Mladen Krstic
Loznica

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

Sajt: mladen.krsticc.net


Profil

icon Re: Program napisan u jeziku C za restart PC25.03.2007. u 12:17
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.
Ako ne mozes da pobedis, mozes poraz da prihvatis kao deo procesa dobijanja.
25.03.2007. u 12:17 

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
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!"
25.03.2007. u 22:24 

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
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!"
27.03.2007. u 08:58 

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
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!"
28.03.2007. u 20:20 

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

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

P.S.
Probaj i shutdown -s -t 00
FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
28.03.2007. u 21:50 

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
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!"
29.03.2007. u 21:14 

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
Š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!"
30.03.2007. u 22:21 

X Files
Vladimir Stefanovic
Pozarevac

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

Jabber: xfiles@elitesecurity.org
Sajt: www.antivari.com


Profil

icon Re: Program napisan u jeziku C za restart PC31.03.2007. u 17:30
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...

FREEWARE
Di rečnik, v1.0.058 (srp-eng/eng-srp priručni rečnik)
http://www.antivari.com
31.03.2007. u 17:30 

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

[ Pregleda: 3162 | Odgovora: 28 ]

Postavi temu

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