Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2009, 11:49   #1
Powerfull100
Пользователь
 
Аватар для Powerfull100
 
Регистрация: 05.08.2009
Сообщений: 10
По умолчанию Работа в терминале

Ситуация такая - программа запускаеться в терминале ...
Подскажите пожайлуста как можно определить програмно ИД терминала и имя компьютера с которого этот терминал запущен. Или что еще лучще то ссылку н а литературу по роботе с терминальными сессиями, а то, что-то не могу ничего внятного найти (((
Заранее спасибо.
Не делает ошибок тот, кто вообще ничего не делает.
Powerfull100 вне форума Ответить с цитированием
Старый 18.09.2009, 17:29   #2
Powerfull100
Пользователь
 
Аватар для Powerfull100
 
Регистрация: 05.08.2009
Сообщений: 10
По умолчанию

Тема снимаеться ответ найден ... всем пасибо
PHP код:
type 
  _WTS_CONNECTSTATE_CLASS 
= ( 
    
WTSActive,              // User logged on to WinStation 
    
WTSConnected,           // WinStation connected to client 
    
WTSConnectQuery,        // In the process of connecting to client 
    
WTSShadow,              // Shadowing another WinStation 
    
WTSDisconnected,        // WinStation logged on without client 
    
WTSIdle,                // Waiting for client to connect 
    
WTSListen,              // WinStation is listening for connection 
    
WTSReset,               // WinStation is being reset 
    
WTSDown,                // WinStation is down due to error 
    
WTSInit);               // WinStation in initialization 
  
{$EXTERNALSYM _WTS_CONNECTSTATE_CLASS
  
WTS_CONNECTSTATE_CLASS _WTS_CONNECTSTATE_CLASS
  {
$EXTERNALSYM WTS_CONNECTSTATE_CLASS
  
TWtsConnectStateClass WTS_CONNECTSTATE_CLASS

************************************************************************
************************************************************************
if 
WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE01ppSessionInfopCountthen 
begin
ppSessionInfo1 
:= ppSessionInfo;
for 
:= 0 to pCount do 
begin
SessionInfo 
:= PWTS_SESSION_INFOA(ppSessionInfo);
if 
SessionInfo.SessionId <> 0 then 
begin
FCaption 
:= GetLocalIPAddressClient(SessionInfo^.SessionId);
if (
FCaption <> '') and (SessionInfo^.pWinStationName <> 'Console') and (SessionInfo^.State <> WTSListenthen 
begin

ListItem 
:= nil;

for 
:= 0 to ListView.Items.Count do 
begin
if PItemInfo(ListView.Items[j].Data)^.SessionId SessionInfo^.SessionId then 
begin
ListItem 
:= ListView.Items[j];
Break;
end;
end;

if 
ListItem nil then
 begin

ListItem 
:= ListView.Items.Add;
with ListItem do begin
Caption 
:= FCaption;
SubItems.Add(GetLocalClientName(SessionInfo^.SessionId));
SubItems.Add(SessionInfo^.pWinStationName);
SubItems.Add(GetUserName(SessionInfo^.SessionId));
SubItems.Add(DecodeSessionSate(SessionInfo^.State));
SubItems.Add('');
SubItems.Add('0ms');
end;

New(
ItemInfo);
with ItemInfo^ do begin
SessionId 
:= SessionInfo^.SessionId;
ReplyStatus := IP_SUCCESS;
ItemStatus := isNew;
SessionState := SessionInfo^.State;
WinStationName := GetUserName(SessionInfo^.SessionId);
PingThread := TPingTrhread.Create(SessionInfo^.SessionIdFCaptionListViewFPackedSizeFTimeOutFPingInterval);
PingThread.Resume;
end;
ListItem.Data := ItemInfo;
******************************************************************************
****************************************************************************** 
Не делает ошибок тот, кто вообще ничего не делает.

Последний раз редактировалось Powerfull100; 18.09.2009 в 17:32.
Powerfull100 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Помогить настроить полноэкранный режим для Turbo Pascal 7.0 в Терминале olegbelyi Паскаль, Turbo Pascal, PascalABC.NET 1 30.10.2007 13:05