On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 14
Зарегистрирован: 23.10.06
ссылка на сообщение  Отправлено: 30.10.06 18:14. Заголовок: Как определить - терминалка или консоль


Похоже, глюки в Винсервер 2003

Сначала на самом верваке переменная окружения SESSIONNAME=Console
После подключения по RDP в терминальной сессии SESSIONNAME=RPD-Tcp#58, CLIENTNAME=клиент

После этого в новых сессиях ДОС на самом серваке переменные окружения становятся такими же, как в терминальной сессии. То есть SESSIONNAME=Console меняется на SESSIONNAME=RPD-Tcp#58

Печально.

1) может быть это как-то лечится?
2) как определить - работает прога на самой консоли или в терминальном режиме?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 11 [только новые]







Пост N: 253
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 01.09.13 20:50. Заголовок: Подниму старую тему...


Дабы не плодить новые, подниму старую тему.
Нужно различить прогу, работающую в консольном режиме от программы, работающей на сервере через терминал. раньше проблем не было, определял так:

Скрытый текст



Сейчас появилось несколько машин, которые работают с сервером по сети, но доступ к ним осуществляется через RDP, соотв. этот метод не работает - мой IsTermial() возвращает TRUE.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 31
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 01.09.13 22:17. Заголовок: может проще не программно, а организационно


Программу из разных конфигураций можно запускать
разными батниками с разными ключами или разными set-установками

====bat1.cmd===
set conf=1
exam.exe

====bat2.cmd===
set conf=2
exam.exe

или

====bat1.cmd===
exam.exe conf1

====bat2.cmd===
exam.exe conf2


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 255
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 02.09.13 01:40. Заголовок: petr707 пишет: Прог..


petr707 пишет:

 цитата:
Программу из разных конфигураций можно запускать
разными батниками с разными ключами или разными set-установками



Это логично и скорее всего будет использовано на крайний случай. Но ведь конечно хочется определения "на автомате".
Как вариант - было-бы достаточно определить локальный или "сетевой" любой файл из базы данных. Или буква диска пути к ней...

В Harbour нет ничего подобного?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 32
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 02.09.13 06:56. Заголовок: смотреть окружение


все равно лучше управлять ситуацией, чем зависеть от того что вернет set>set.txt
можно самому создать и потом проверить достуность ресурса, который доступен только в консоли,
например C:\console\blabla.bla
И клиент терминальный может быть в принципе не Windows,
SESSIONNAME будет присутствовать, а остальное - не гарантируется

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 259
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 02.09.13 15:31. Заголовок: Согласен, что лучше ..


Согласен, что лучше управлять ситуацией, но наличие к-л ресурса нужно искусственно выдумывать, не забывать прописывать и тп.
А это - лишние телодвижения, о которых можно через какое-то время и забыть.

Вот это: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364939(v=vs.85).aspx

реально прикрутить к Harbor ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 33
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 02.09.13 15:39. Заголовок: GetDriveType ?


Речь идет об этой теме ?
http://clipper.borda.ru/?1-4-0-00000666-000-10001-0-1370002542

поиск на сайте работает


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 261
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 03.09.13 00:44. Заголовок: Видимо, "мой кун..


Видимо, "мой кунфу недостаточно хорош", при компиляции скопированного примера выдается куча сишных ошибок, с которыми я не знаю, чего делать:

Скрытый текст


Нашел поиском по форуму "недокументированную" в Harbour функцию DriveType() - но линкер выдает сообщение об ошибке, что HB_FUNC_DRIVETYPE не найдена...



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 34
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 03.09.13 06:27. Заголовок: Попробуйте это


Попробуйте это

Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 263
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 03.09.13 21:39. Заголовок: petr707 пишет: Попр..


petr707 пишет:

 цитата:
Попробуйте это



Спасибо, скомпилилось, буду разбираться.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3512
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.09.13 22:04. Заголовок: Перенес тему..


Перенес тему

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 23
Зарегистрирован: 20.04.07
ссылка на сообщение  Отправлено: 04.09.13 06:35. Заголовок: Может это поможет



 цитата:

Печально.

1) может быть это как-то лечится?
2) как определить - работает прога на самой консоли или в терминальном режиме?



Может это поможет:

В "Harbour" есть функция: win_OsIsTSClient() // Библиотека "hbwin.lib"

Возвращает .T. или .F.

Или по другому: wapi_GetSystemMetrics(WIN_SM_REMOTESESSION)

Эта возвращает == 0 для консоли и != 0 для терминала

Например:

Скрытый текст


Проверил при подключении ч/з RDP на
XP Pro SP3, Win Server 2003 R2, Win Server 2008 R2 - все отлично работает.
Т.е. один и тот-же экзешник запускал одновременно в терминальной сессии ч/з RDP
и его же на подключенном сетевом диске на сервере. Коды возврата верные.

В обеих функциях используется WIN API ф-ция: [url=http://msdn.microsoft.com/en-us/library/windows/desktop/ms724385(v=vs.85).aspx]GetSystemMetrics[/url]

Правда, там есть оговорка насчет Win Server 2003 и XP:
"Windows Сервер 2003 и Windows XP: консольный сеанс не является обязательно физической консолью.
Более подробно, смотри WTSGetActiveConsoleSessionId."

Но с этим нужно более подробно разбираться.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 22
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет