Форум: "Система";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Вниз
Log_Off Найти похожие ветки
← →
Poison (2004-01-10 04:29) [0]Подскажите как выполнить Log off без прибивания всех приложений текущего пользователя. О ExitWindowsEx - знаю, но, наверное, не все :)
← →
Poison (2004-01-10 23:47) [1]Up!
← →
Иван Шихалев © (2004-01-11 19:32) [2]> Подскажите как выполнить Log off без прибивания
> всех приложений текущего пользователя.
Какой же это Log Off?
← →
YuRock © (2004-01-11 19:50) [3]Если я правильно понял тему, то вот (в NT/2k/XP):
var
hToken : THANDLE;
tkp : TTokenPrivileges;
rl : DWORD;
begin
OpenProcessToken(GetCurrentProcess(), (TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY), hToken);
if not (LookupPrivilegeValue(nil, LPSTR("SeShutdownPrivilege"), tkp.Privileges[0].Luid)) then
begin
MessageBox(0, "Нет локальных привилегий", "", MB_ICONSTOP);
Exit;
end;
tkp.PrivilegeCount := 1;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, tkp, 0, nil, rl);
if not ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0) then
MessageBox(0, "Не получилось...", "", MB_ICONERROR);
end.
← →
Poison (2004-01-13 01:16) [4]Немного запарился. Точнее не Log Off, а Switch User.
Подскажите, плиз.
← →
YuRock © (2004-01-13 10:15) [5]> Poison (13.01.04 01:16) [4]
То же, что в [3], только вместо
ExitWindowsEx(EWX_SHUTDOWN or EWX_POWEROFF, 0)
надо
ExitWindowsEx(EWX_SHUTDOWN or EWX_LOGOFF, 0)
Если не изменяет память, EWX_LOGOFF и есть Switch User.
Попробуйте.
← →
Игорь Шевченко © (2004-01-13 17:55) [6]Можно попробовать поискать в сторону WTSxxxx функций
← →
Cobalt © (2004-01-14 09:28) [7]В W2K и WinXP:
%windir%\System32\rundll32.exe user32.dll,LockWorkStation
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.029 c