ERROR aber keine ahnung was ich machen muss

NeXoN

Mitglied
Da ich noch nicht so vort geschritten bin c/c++ hat mich dieser error vor ein rätsel gesetzt "error C2078: Zu viele Initialisierungen"

Ich wollte ein programm schreiben das den PC wie ein wecker ausschält also mal satellt die Uhr und wenn es soviel Uhr ist das er dann ausgeht.
Und ich hab als erstes versucht es mal soweit zu bringen das ich den Computer mit einer exe auschalten kann.

Hier der code:
Code:
#include <windows.h>
#include <ostream>
#include <iostream>

void main()
{ 	
	bool ExitWindowEx(EWX_REBOOT,0);
}

Bitte um Hilfe was hab ich falsch gemacht

MFG NeXoN
 
Original geschrieben von NeXoN

#include <windows.h>
#include <ostream>
#include <iostream>

void main()
{
bool ExitWindowEx(EWX_REBOOT,0);
}


Man sollte die Funktion aufrufen und nicht neu definieren, also versuch ExitWindowEx mal ohne bool, als Datentyp aufzurufen.
 
Ich hab das bool jetzt weg gemacht und ExitWindowsEx jetzt als datei mit void aufgerufen ging aber nicht ich konnte sie jetzt zwar ausführen aber der Rechner hat nicht neu gestartet

MFG NeXoN
 
In C++ gibt es Namensbereiche mit dennen man bestimmte Funktionen bzw. Klasse unter nur einem bestimmten Namen ansprechen kann.

Z.B. ist "cout" im Namensbereich "std".

Drum macht man im Code, meist am Anfang, "using namespace std;" um nicht das schreiben zu müssen: "std::cout << "Hallo, Welt!" << std::endl;".


mfg
 
Mach mal das:
Code:
#include <windows.h>

int main()
{
    HANDLE hToken;
    TOKEN_PRIVILEGES tPrivs;

    // Token auf den aktuellen Prozess ermitteln
    OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY, &hToken);

    // Ermitteln der eindeutigen ID der SE_SHUTDOWN_PRIVILEGES
    LookupPrivilegeValue(NULL, "SeShutdownPrivilege", &tPrivs.Privileges[0].Luid);

    // Setzen des Privilegs
    tPrivs.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    tPrivs.PrivilegeCount = 1;
    AdjustTokenPrivileges(hToken, FALSE, &tPrivs, 0, (PTOKEN_PRIVILEGES)NULL, 0);

    // Shutdown erzwingen
    ExitWindowsEx(EWX_REBOOT+EWX_FORCE, 0);

    exit (0);
}
Das zwingt alle Prozesse, sich zu beenden und Windows zu rebooten.

Gruß
René
 
Zuletzt bearbeitet:
Zurück