информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 На GitHub пугают ложными предупреждениями... 
 Атака на пользователей больших... 
 Notepad++ полгода раздавал зараженные... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
А я давно говорил, что XP-это г&#$но. Люди, ставьте NT! 19.01.02 05:15  Число просмотров: 947
Автор: push Статус: Незарегистрированный пользователь
<"чистая" ссылка>
<programming>
Завершения сеанса WinXP 19.01.02 01:28  
Автор: Mikle Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Пиплы. А кто знает, как реально (чтоб работало на практике) завершать работу под XP на Delphi :
Logoff
Shutdown
Reboot и т.д.
процедуры типа windows.exitwindows(0,0) или
winexec('rundll32 user32, ExitWinodwsEx 0','') - не фурычат
[Pascal] Вот привет кода 19.01.02 12:56  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
Это для Delphi, сишный я чего-то найти не могу :-(
Думаю разберешся, детали функций смотри в MSDN.
Удачи!

function ShutdownSystem(bForce: Boolean): Boolean;
var
  Handle: THandle;
  Priveleges: TOKEN_PRIVILEGES;
  Size: Longword;
  luid: int64;
begin
  result := false;

  if not OpenThreadToken(OpenThread(PROCESS_ALL_ACCESS, FALSE, GetCurrentThreadId()), TOKEN_ALL_ACCESS, TRUE, Handle)
  and not OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, Handle) then
    Exit;

  if not LookupPrivilegeValue(nil, 'SeShutdownPrivilege', luid) then
    Exit;

  Priveleges.PrivilegeCount := 1;
  Priveleges.Privileges[0].Luid := luid;
  Priveleges.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;

  if not AdjustTokenPrivileges(Handle, false, Priveleges, SizeOf(Priveleges), Priveleges, Size) then
    Exit;

  if bForce then
    result := ExitWindowsEx(EWX_FORCE or EWX_POWEROFF, 0) or ExitWindowsEx(EWX_FORCE or EWX_SHUTDOWN, 0)
  else
    result := ExitWindowsEx(EWX_POWEROFF, 0) or ExitWindowsEx(EWX_SHUTDOWN, 0)
end;

---
сначала вызови AdjustTokenPrivileges(SeShutdownPrivilege) 19.01.02 05:09  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
А я давно говорил, что XP-это г&#$но. Люди, ставьте NT! 19.01.02 05:15  
Автор: push Статус: Незарегистрированный пользователь
<"чистая" ссылка>
это фича всех NT ;) - security :) 19.01.02 08:50  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach