Учись программированию на C++ Builder бесплатно!
  • Главная
  • FAQ
  • Как закрыть все запущенные приложения?

Если нужно закрыть все активные (запущенные) программы и не прибегая многократному закрытию каждого окна, можно для этого воспользоваться небольшим кодом, который поможет решить данный вопрос:

HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
  ShowMessage("OpenProcessToken"); 
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)
  ShowMessage("AdjustTokenPrivileges");
if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE , 0))
  ShowMessage("ExitWindowsEx");

Поиск по сайту