ERLEDIGT
JA
JA
ANTWORTEN
13
13
ZUGRIFFE
870
870
EMPFEHLEN
-
Hi!
Wie kann ich mit einem cpp Program meinen PC herunterfahren? Geht das irgendwie mit system - shutdown oder so ähnlich
Danke.
-
09.05.05 16:27 #2
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Und täglich grüßt das Murmeltier....
Unter XP musst du dir erst die Rechte holen um das zu machen:
Code :1 2 3 4 5 6 7 8 9 10
HANDLE hToken; TOKEN_PRIVILEGES tPrivs; OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY, &hToken); LookupPrivilegeValue(NULL, "SeShutdownPrivilege", &tPrivs.Privileges[0].Luid); tPrivs.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; tPrivs.PrivilegeCount = 1; AdjustTokenPrivileges(hToken, FALSE, &tPrivs, 0, (PTOKEN_PRIVILEGES)NULL, 0); ExitWindowsEx(EWX_POWEROFF+EWX_FORCE, 0);
mfg
umbrasaxum
-
Ich hab das grade auch versucht aber mein Compiler bringt mir da zig fehlermeldungen
Ich wolllte das in eine If Anweisung reinpacken
Also:
if(a==1)
Dann den PC heruntrfahren
aber wenn ich den Code von oben unter der if Anweisung einfüg dann kommen eben diese FehlerGeändert von PraxX (21.05.05 um 13:55 Uhr)
-
welche Fehler ?
-
21.05.05 19:31 #5
also der code von umbrasaxum funktioniert bei mir und den meisten hier im Forum einwandfrei. Wenn er bei dir wirklich nicht geht dann möchte ich mal wissen was du für nen Compiler benutzt.
P.S. umbrasaxum rullz
C macht es einfach, sich in den Fuß zu schießen; C++ erschwert es, aber wenn man es tut, bläst es einem das ganze Bein weg." —Bjarne Stroustrup .-.-.-.-.-.-.
„Ich habe mir immer gewünscht, dass mein Computer so einfach zu bedienen sein sollte wie mein Telefon. Mein Wunsch wurde wahr. Ich weiß nun nicht mehr, wie mein Telefon funktioniert.“ —Bjarne Stroustrup
-
21.05.05 21:46 #6
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ja ich rule!
mfg
umbrasaxum
-
Ich habe das Min GW developer studio
Das hier steht in bei hilfe:
GCC is the GNU Compiler Collection, which currently contains front ends for C, C++, Objective-C, Fortran, Java, and Ada,as well as libraries for these languages (libstdc++, libgcj,...).
Das sind die Fehler:
main.cpp:11: error: `HANDLE' undeclared (first use this function)
main.cpp:11: error: (Each undeclared identifier is reported only once for each
function it appears in.)
main.cpp:11: error: syntax error before `;' token
main.cpp:12: error: `TOKEN_PRIVILEGES' undeclared (first use this function)
main.cpp:14: error: `GetCurrentProcess' undeclared (first use this function)
main.cpp:14: error: `TOKEN_ADJUST_PRIVILEGES' undeclared (first use this
function)
main.cpp:14: error: `TOKEN_QUERY' undeclared (first use this function)
main.cpp:14: error: `hToken' undeclared (first use this function)
main.cpp:14: error: `OpenProcessToken' undeclared (first use this function)
main.cpp:15: error: `tPrivs' undeclared (first use this function)
main.cpp:15: error: `LookupPrivilegeValue' undeclared (first use this function)
main.cpp:16: error: `SE_PRIVILEGE_ENABLED' undeclared (first use this function)
main.cpp:18: error: `FALSE' undeclared (first use this function)
main.cpp:18: error: `PTOKEN_PRIVILEGES' undeclared (first use this function)
main.cpp:18: error: syntax error before `__null'
main.cpp:20: error: `EWX_POWEROFF' undeclared (first use this function)
main.cpp:20: error: `EWX_FORCE' undeclared (first use this function)
main.cpp:20: error: `ExitWindowsEx' undeclared (first use this function)
-
22.05.05 11:15 #8
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Hast du die windows.h includiert?!
mfg
umbrasaxum
-
ah key thx
-
also #include <windows.h>
jetzt bekomm ich noch diese fehler:
main.cpp:12: warning: unused variable `void*hToken'
main.cpp:15: error: `hToken' undeclared (first use this function)
main.cpp:15: error: (Each undeclared identifier is reported only once for each
function it appears in.)
-
22.05.05 12:00 #11
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Zeig mal deinen Code.
mfg
umbrasaxum
-
Ich muss damit einen Kumpel verarschen
Ist so ein Angeber
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#include <iostream> #include <windows.h> using namespace std; int main() { cout<<"Hello Guys, this is a Calculater which shows you your Boarderskill"<<endl; cout<<"First"<<endl; cout<<"Do you think you are boarding well? (type '1' for Yes or '2'for No, then hit Enter"<<endl; int a; cin>>a; if(a==1) HANDLE hToken; TOKEN_PRIVILEGES tPrivs; OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY, &hToken); LookupPrivilegeValue(NULL, "SeShutdownPrivilege", &tPrivs.Privileges[0].Luid); tPrivs.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; tPrivs.PrivilegeCount = 1; AdjustTokenPrivileges(hToken, FALSE, &tPrivs, 0, (PTOKEN_PRIVILEGES)NULL, 0); ExitWindowsEx(EWX_POWEROFF+EWX_FORCE, 0); else cout<<"You're not selfconfident enough, run the program again!"<<endl; return 0; }
-
22.05.05 12:16 #13
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Du hast den Code zum runterfahren nciht in geschweifte Klammern gesetzt!
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
#include <iostream> #include <windows.h> using namespace std; int main() { cout<<"Hello Guys, this is a Calculater which shows you your Boarderskill"<<endl; cout<<"First"<<endl; cout<<"Do you think you are boarding well? (type '1' for Yes or '2'for No, then hit Enter"<<endl; int a; cin>>a; if(a==1) { HANDLE hToken; TOKEN_PRIVILEGES tPrivs; OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY, &hToken); LookupPrivilegeValue(NULL, "SeShutdownPrivilege", &tPrivs.Privileges[0].Luid); tPrivs.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; tPrivs.PrivilegeCount = 1; AdjustTokenPrivileges(hToken, FALSE, &tPrivs, 0, (PTOKEN_PRIVILEGES)NULL, 0); ExitWindowsEx(EWX_POWEROFF+EWX_FORCE, 0); } else cout<<"You're not selfconfident enough, run the program again!"<<endl; return 0; }
mfg
umbrasaxum
-
TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY ist fei schon gefährlich da wäre TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY besser weil es könnte ja theoretisch sein dass in den beiden defines einige Bits gleich gesetzt ist.
Dein Problem ist
if(a==1)
HANDLE hToken;
Dass HANDLE hToken ist jetzt nur definiert wenn a==1 und nur für eine Zeile !
Du musst HANDLE hToken; ganz oben in deinem Code angeben.
Ähnliche Themen
-
Shutdown Dos
Von SCIPIO-AEMILIANUS im Forum Microsoft WindowsAntworten: 7Letzter Beitrag: 22.10.07, 20:42 -
shutdown
Von chrisjahl im Forum JavaAntworten: 19Letzter Beitrag: 02.07.07, 13:15 -
Shutdown
Von xmailer im Forum Visual Basic 6.0Antworten: 21Letzter Beitrag: 22.10.05, 12:01 -
shutdown
Von wpb im Forum Linux & UnixAntworten: 4Letzter Beitrag: 06.07.05, 13:35 -
shutdown.exe
Von Pardon_Me im Forum Microsoft WindowsAntworten: 15Letzter Beitrag: 29.07.04, 08:03





Zitieren
Login






