warning C4390: ';' : Leere kontrollierte Anweisung aufgetreten; ist dies beabsichtigt
-
HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)); LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid); // warning C4390: ';' : Leere kontrollierte Anweisung aufgetreten; ist dies beabsichtigt? tkp.PrivilegeCount = 1; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if (GetLastError() != ERROR_SUCCESS); if (!ExitWindowsEx(EWX_SHUTDOWN, 0)); // warning C4390: ';' : Leere kontrollierte Anweisung aufgetreten; ist dies beabsichtigt? // Windows 2000/NT/XP Runterfahren ///////////////////////////////////////////////////////// ExitWindowsEx(EWX_SHUTDOWN,0); // warning C4390: ';' : Leere kontrollierte Anweisung aufgetreten; ist dies beabsichtigt? // Windows 95/98/ME Runterfahren /////////////////////////////////////////////////////////Warum bekomme ich an diesen Stellen fehler?
-
eine If setzte eine Anweisung **voraus
Die Strucktur istif (!ExitWindowsEx(EWX_SHUTDOWN, 0))
{
}Bitte das ; entfernen es heißt nicht
if (!ExitWindowsEx(EWX_SHUTDOWN, 0));
sondern
if (!ExitWindowsEx(EWX_SHUTDOWN, 0))Ein ; am ende ignoriert zwar nicht die Anweisung
wird aber dennoch nicht sauber ausgeführtVossy**
-
So jetz sind es noch 2 warnungen:
HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)); LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid); // warning C4390: ';' : Leere kontrollierte Anweisung aufgetreten; ist dies beabsichtigt? tkp.PrivilegeCount = 1; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if (GetLastError() != ERROR_SUCCESS); if (!ExitWindowsEx(EWX_SHUTDOWN, 0)) // warning C4390: ';' : Leere kontrollierte Anweisung aufgetreten; ist dies beabsichtigt? // Windows 2000/NT/XP Runterfahren ///////////////////////////////////////////////////////// ExitWindowsEx(EWX_SHUTDOWN,0); // Windows 95/98/ME Runterfahren /////////////////////////////////////////////////////////
-
HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid); tkp.PrivilegeCount = 1; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if (GetLastError() != ERROR_SUCCESS) if (!ExitWindowsEx(EWX_SHUTDOWN, 0))So habe ich keine fehler möchte jetz aber nich neustarten müste aber so gehen oder?
-
nein jetz fahrt er nicht runter aber ich weis nich warum?
-
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);
if (GetLastError() == ERROR_SUCCESS)
{ if(ExitWindowsEx(uFlags , 0)) return true;
}
return false;
-
Die Anfrage ist zwar schon eine Weile her, aber so gehts
[cpp]
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);
if (GetLastError() == ERROR_SUCCESS)
{ if(ExitWindowsEx(uFlags , 0)) return true;
}
return false;