Re: Много непоняток с WinAPI (было: Logoff current user in Windows NT)
- From
- Demid ()
- To
- All
- Date
- 2001-06-14T17:17:57Z
- Area
- SU.WINDOWS.NT.PROG
From: "Demid" <demid@pstu.edu>
Subject: Re: Много непоняток с WinAPI (было: Logoff current user in Windows NT)
"Victor" <VictorK@mastereye.com> wrote in message news:xn2W6.108$io1.533538@news...
>
> >
> > Все это можно, при условии, что EWX_FORCE хоть как-то работает.
> >
>
> Да работает он, работает. Проверь свой код.
Да вот он весь:
#include "stdafx.h"
#include "windows.h"
#include <assert.h>
int main(int argc, char* argv[])
{
UINT uFlags = EWX_LOGOFF;
OSVERSIONINFO VersionInfo;
VersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
assert( GetVersionEx( &VersionInfo ) );
assert( VersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT );
if (VersionInfo.dwMajorVersion == 4)
uFlags = uFlags | EWX_FORCE;
if (VersionInfo.dwMajorVersion == 5)
uFlags = uFlags | EWX_FORCE;
// uFlags = uFlags | EWX_FORCEIFHUNG; -- пробовал и то и другое
ExitWindowsEx(uFlags, 0xFFFFFFFF);
return 0;
}
>
> >
> > Конкретнее - надо просканировать все Window Station и закрыть те из них,
> > которые принадлежат пользователю с определенным именем (независимо от
> того,
> > запущена ли программа на терминал-сервере или же на "отдельной" машине.
> > Причем, что самое смешное - не могу выполнить ни один из трех пунктов :(
>
> Я уже писАл раньше, что надо просто выгребать все активные сессии и потом
> через функцию WTSQuerySessionInformation проверять юзера.
O'key, будем пробовать.
Но все равно непонятно, почему EnumWindowStations фигню enumerat-ит.
> > Хотелось сделать универсально. Да и надо SDK качать, чтобы использовать
> > эти функции (штатно в MSVC их нету).
> >
>
> Штатно в Студии дока, хедера и либы урезаные. Если работать надо не
> по-детски :-)
> без Platform SDK никуда не денешься, это проверено.
Ладно.
--- ifmail v.2.15dev5
* Origin: AIC Ltd. (2:5020/400)