Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.21;
Скачать: CL | DM;

Вниз

Как вывести пользователя из системы?   Найти похожие ветки 

 
12   (2009-04-11 17:11) [0]

т.е. то, что делает Диспетчер задач, когда выбираем закладку Пользователи, выбираем пользователя(НЕ СЕБЯ!), и кликаем по кнопке Выйти из системы.

Простите, что сюда, по моему тут больше народу сидит :)


 
12 ©   (2009-04-14 09:05) [1]

никто не знает?
думал обойдусь, нет похоже..


 
Юрий Зотов ©   (2009-04-14 10:27) [2]

ExitWindowsEx


 
Юрий Зотов ©   (2009-04-14 10:32) [3]

Плюс CreateProcessAsUser, конечно.


 
12 ©   (2009-04-14 10:56) [4]

логично
надо попробовать
спасибо


 
12 ©   (2009-04-14 15:32) [5]

Ситуация такова:
следуя логике, достаточно выполнить что-то от имени того пользователя.
пишу:

function CreateProcessWithLogonW(
   user:pwidechar;
   domain:pwidechar;
   passw:pwidechar;
   flags: DWORD;
   lpApplicationName: PwideChar;
   lpCommandLine: PwideChar;
   dwCreationFlags: DWORD;
   lpEnvironment: Pointer;
   lpCurrentDirectory: PWideChar;
   const lpStartupInfo: TStartupInfo;
   var lpProcessInformation: TProcessInformation)
:BOOL; stdcall;

implementation

{$R *.dfm}
function CreateProcessWithLogonW; external \\\"advapi32.dll\\\" name \\\"CreateProcessWithLogonW\\\";

procedure TForm1.Button1Click(Sender: TObject);
var
 SI : TStartupInfo;
 PI : TProcessInformation;
 cmd: widestring;
begin
 ZeroMemory(@SI, SizeOf(SI));
 SI.cb:=SizeOf(SI);
 if CreateProcessWithLogonW(
        PWideChar(widestring(\\\"Ïåòð\\\")),
        nil,
        PWideChar(widestring(\\\"12345\\\")),
        0,
        nil,
        PWideChar(widestring(\\\"c:\\\\logoff.exe\\\")),
        CREATE_DEFAULT_ERROR_MODE,
        nil, nil, SI, PI) then
 Application.Terminate()
   else
 Showmessage(\\\"error\\\");


c:\\\\logoff.exe - получен из


program logoff;
{$APPTYPE CONSOLE}
uses
 Windows;
begin
ExitWindowsEx(EWX_LOGOFF,0);
end.


и не получается ничего хорошего.
висит черная консоль с caption = c:\\\\logoff.exe, пользователь из списка не пропал, правда статус поменялся с Активен на Отключен, его процессы остались..
А taskmanager убирает его из списка, и процессы завершает.
Можно, конечно, пробежать по процессам и их прибить. Но а как сделать не Отключен, а вообще чтоб не было?
(сам когда запускаю c:\\\\logoff.exe, как и положено, все завершается, перехожу к вводу пароля, к входу в систему)


 
Eraser ©   (2009-04-14 15:35) [6]

> [0] 12   (11.04.09 17:11)

возможно спасет WTSLogoffSession.


 
12 ©   (2009-04-14 15:56) [7]

оказывается все можно решить смешнее..
logoff.exe {№сесиии}

правда, будет время, надо будет разобраться


 
12 ©   (2009-04-14 16:03) [8]

в смысле, тот logoff, который в system32 лежит


 
Клоака   (2009-04-15 00:26) [9]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2009.06.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
11-1193797466
Trible
2007-10-31 05:24
2009.06.21
Анимация окна


2-1241448791
AndrewG
2009-05-04 18:53
2009.06.21
Формат текста MsWord


15-1239378087
Rouse_
2009-04-10 19:41
2009.06.21
И мне чтоль какую нибудь голосовалку сделать? :)


15-1239722171
@!!ex
2009-04-14 19:16
2009.06.21
Подскажите хороший багтрекер не сложный в установке.


15-1239615526
vajo
2009-04-13 13:38
2009.06.21
Затруднения с Excel