alle sich in Taskleiste befindlichen Programme beenden

stimon

Mitglied
Hallo,

ich versuche gerade mit folgendem Code alle sich in der Taskleiste befindlichen Programme zu schlißen.
Nur hab ich das Problem das Windows nicht nur die Programme beendet sondern sich auch noch aus logt.
Wie bekomme ich das Logout weg?

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;
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_FORCE, NULL));
return TRUE;

hoffe es kann mir jemand helfen
Danke
 
Du solltest tkp auf einige benötigte Prozesse überprüfen und diese nicht schliessen. Z.b:
  • explorer.exe
  • svchost.exe
  • winlogon.exe
  • spoolsv.exe
  • ...
 

Neue Beiträge

Zurück