gifts2017

HideRDPxButtoN - запрет закрытия окна терминального подключения

Опубликовал Дмитрий (metaeditor) в раздел Администрирование - Сервисные утилиты

Убирает в заголовке окна терминального подключения RDP кнопку "Х", не позволяя таким образом, "закрывать"  1С, оставляя висящую сессию на терминальном сервере

Для многих администраторов 1С работающей в режиме терминального сервера на базе MS RDP знакома проблема, когда пользователи для завершения работы закрывают не саму программу а жмут кнопку на всплывающей панельке вверху окна удаленного рабочего стола, с чистой совестью полагают что закрыли программу, и оставляя тем самым, висящую сессию на терминальном сервере...
Ктото может бить юзеров линейкой по рукам, ктото может решать это административными методами, а ктото может запустить эту программу... )
ЗЫ, помещается в атозагрузку на каждом клиенте
ЗЫЫ, испробовано на rdp клиентах от WinXP и Win2003

версия 1.0.1.0
Иногда пользователи выключают компьютер, а терминальное подключение в этот момент
например свернуто. В этом случае, оно тоже благополучно отваливается и висит на сервере
Теперь программа при завершении работы компьютера/выходе из сеанса
если открыто окно терминального подключения, выдаёт
соответствующее предупреждение и выключение компьютера
приостанавливается

версия 1.0.1.1:
добавлена поддержка RDP клиентов от XPSP3, Vista, Windows7

Скачать файлы

Наименование Файл Версия Размер
HideRDPxButtoN_1011 748
.zip 13,26Kb
24.12.10
748
.zip 13,26Kb Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Михаил (mdzen) 04.09.06 12:52
2. Сhe Burashka (CheBurator) 05.09.06 00:01
Ок.. и у самого так и тянется рука на крестик кликнуть...
+1
4. Александр (imsoftware) 05.09.06 12:38
Очень простенько написано, но вещь незаменимая! +1
5. Дмитрий (metaeditor) 05.09.06 13:23
6. Алексей Лапицкий (Lapitskiy) 09.09.06 16:30
У меня почему-то крестик пропадает только когда программу свернешь, а потом развернешь, а сразу при загрузке крестик есть! Работаю с RDP через сохраненный ярлык.
7. Дмитрий (metaeditor) 09.09.06 19:58
его видно но насамомделе его нет...) после перерисовки он и пропадает... завтро новая версия будет с ещеодной фичей...
8. Дмитрий (metaeditor) 11.09.06 06:55
версия 1.0.1.0
Иногда пользователи выключают компьютер, а терминальное подключение в этот момент
например свернуто. В этом случае, оно тоже благополучно отваливается и висит на сервере
Теперь программа при завершении работы компьютера/выходе из сеанса
если открыто окно терминального подключения, выдаёт
соответствующее предупреждение и выключение компьютера
приостанавливается

ps, сообщение "Перед выключением компьютера необходимо закрыть 1С:Предприятие."
специально хранится в ресурсах, если кому не нравится или нужно другое, можно поменять

ВАЖНО!!!
Необходимо запускать программу раньше запуска терминального подключения
например, поместить в автозагрузку.
9. Girdar (girdar) 21.09.06 17:18
У меня не срабатывает. Windows 2003 Server Enterprice Edition.
В чем может быть причина?
10. Дмитрий (metaeditor) 22.09.06 03:53
(Girdar):
программа запускается на терминальном сервере или на клиенте?
запускается до запуска терминального подключения?
ОС на клиенте?
версия терминального клиента на клиенте (файл mstsc.exe)?
кто виноват?
что делать?
в каком году было восстание спартака?
11. Anonymous 26.09.06 11:37
Вот ещё бы при запуске из терминала работала. :)
12. Дмитрий (metaeditor) 26.09.06 11:43
(Anonymous):вот бы ещё понять что вы имеете ввиду...
13. Lord agapit 11.10.06 13:22
Спасибо автору. А то своих ландухов скоро убивать буду.
14. dvskey (dvskey) 24.10.06 12:36
15. dim777 12.12.06 15:41
Все хорошо, крестик пропал... только вот одна проблемка, совсем маленькая - выключить комп не могу... точнее сказать "нормально" не могу... из розетки пробовал - выключается. ))) Вообщем при попытке выключить/перегрузить/завершить сеанс появляется окошко с надписью "Перед выключением компьютера необходимо закрыть 1С:Предприятие." и кнопочкой "ОК". Я, значит:
1. нажимаю "ОК" после чего разворачивается терминальное окно (без "Х"),
2. потом я его сворачиваю (т.к. мне ничего больше не остается) и пробую опять выключить/перегрузить/завершить сеанс
3. переходим к пункту "1"
вот такой вот замкнутый круг! ))
16. Дмитрий (metaeditor) 12.12.06 16:00
это одна из функций программы, о чем честно написано в описании... )
надо завершить терминальный сеанс, или использовать первую версию программы, (ссылка выше), она не контролирует выключение компьютера...
17. Константин (empost) 31.12.07 18:51
а что мешает в AD прописать завершение отключенного сеанса?
tarasenkov; +1 1 Ответить
18. Дмитрий (metaeditor) 02.01.08 04:45
ничего не мешает... только тогда 1с закрывается аварийно и требует переиндексации...
19. Дмитрий (metaeditor) 02.01.08 04:52
да, и незабываем что кроме терминала у некоторых 1с ещё работает в сетевом варианте :)
20. Дмитрий (metaeditor) 03.01.08 13:13
так, предыдущий мой пост нечитать... праздники праздники...
21. Александр (dobraleks) 29.01.09 10:05
у меня чтото не работает (Сервер 2000).
скачал, распаковал, запустил екзешник и ничего....
Подключал с сервака, до подключения сесий терминальных
Подскажите может чтото нетак делал??
22. Дмитрий (metaeditor) 29.01.09 14:12
ехе запускается на клиентском компьютере или на сервере?
какая версия терминального клиента на клиенте (файл mstsc.exe)?
23. Александр (dobraleks) 30.01.09 14:16
версия 6.0.6001.18000
делал так,
перегрузил сервак, пока никто еще не подключился к нему запустил екзешник с сервака, но ничего не произошло,
опять перегрузил, думал что изменения вступят в силу.
Зашел под юзером, запрета нету.. Вот думаю что не так делал??
24. Дмитрий (metaeditor) 31.01.09 19:35
>запустил екзешник с сервака
всёравно непойму... запустил на сервере или запустил на клиенте с общей папки на сервере?

зы, запускать надо на каждом КЛИЕНТСКОМ компьютере, а не на СЕРВЕРЕ
зыы, 6.0.6001 - это от висты? уменя на xp SP3 только 6.0.6000
25. Александр (dobraleks) 02.02.09 14:37
ок попробую с юзеров..
нет 6.0.6001 это у меня от ХР прошки, 3 сервис пак..
26. Александр (dobraleks) 02.02.09 15:37
ура заработало..
Скажите а есть обратная сторона этого действия..
Как сделать обратно.. если вдруг я передумаю что у меня повился обратно крестик???? Что нужно удалить???
27. Дмитрий (metaeditor) 02.02.09 21:06
чтобы крестик появился заново, достаточно убить через диспетчер задач процесс
HideRDPxButtoN.exe (ну или убрать его из автозагрузки) и запустить терминальное подключение ещё раз...
28. Александр (dobraleks) 03.02.09 09:35
я тоже присоеденился к списку у кого заработало, свой "+" вам добавил.

Не в теме пишу но моя прозьба похожа на эту новость..
Может у кого то есть какаято утилита которая позволяет к примеру через 30 минут если пользователь не работает в 1с (в терминальной сесии) автоматически выгонять его??
29. Альтаир (Altair777) 03.02.09 09:46
(28) хм... Саша, не надо этого делать, даже если и найдешь - воплей будет немерянно.
На уровне терминалов - не проблема прибить сессию.
А что значит пользователь не работал? А если бухша сидела и смотрела отчет?
Клавиш не нажимала, мышку не двигала, просто сидела и смотрела.
Искала знакомые цифры :-)
30. Епрст (Ёпрст) 03.02.09 09:47
(28) в свойствах rdp есть время простоя ... и привет, правда, если кто-то запустил длительную обработку/перепровод и в этот момент "не активен" , то после прибития, неудобно как-то получиться :)
31. Василий Демидов (Душелов) 03.02.09 09:50
(29) Как бы выводится окошко с предупреждением и обратным отсчетом до закрытия.... Как бы так...
32. Альтаир (Altair777) 03.02.09 09:55
(31) А ей как бы в этот момент директор позвонил и она "на минуточку" отвернулась :-)
(28) Цель какая прибития? Сэкономить ресурсы сервера?
33. Михаил Семенов (Shaman100M) 03.02.09 10:04
(28) есть на проклабе такое

http://1c.proclub.ru/modules/mydownloads/personal.php?cid=77&lid=2713

"Компонента Waiter является узкоспециализированной и реализует одну-единственную функцию: она умеет определять время бездействия пользователя.
Бездействием считается период, в течении которого V7 не получает сообщений ни от клавиатуры, ни от мыши. Компонента имеет всего три метода: включить слежение, отключить слежение, вернуть время бездействия. " (Гуров С.)

Запустить обработку ожидания и в ней проверять:
- было ли что-то нажато
- сколько "периодов" прошло с момента последнего запуска обработки ожидания, если больше 2-х, - значит, что-то выполнялось.
34. Александр (dobraleks) 03.02.09 10:33
Цели было вообще то 3.
1. Главная цель была вообще то что выходят неправельно, тоесть висит сесия, вот с помощью этой утилиты и решил проблему с "крестиком".
РЕШЕНО..
2. Когда пишу всем сообщение чтоб строччно вышли из базы, (через 1с-ЧАТ)чтоб как то привлечь внимание к сообщению (ну типа чтоб спикерфон пищал до тех пор пока сесия 1с не закроеться). Юзеров где то 30 чел. пока всех оббегаешь по этажам чтоб вышли правельно то замучишься. А так спикер пищал бы до тех пор пока не закроеться сесия.. (Если юзера нет, то коллега завершила бы работу соседнего компа).
Пока не решил эту задачю.
3. Это таймер на простой.. Но если вы не рекомендуете так выгонять, то она отпадает.

Остаеться решить № 2.
3.
35. Епрст (Ёпрст) 03.02.09 11:48
(34) Ну и ? И какие могут быть проблемы в терминале ?
Тупо прибиваешь открытые сессии сам и привет...
36. Андрей Громов (anempadest) 01.07.09 17:23
Если я правильно понял, программа должна быть запущена до запуска терминального режима. Это неудобно.

Например, у меня подопечные находятся не в соседней комнате, а в соседней области. И квалификация в работе с ПК у них очень низкая. Я бы мог им выслать сабж, чтоб они его положили в указанное место. Потом бы я в батник, который выполняется при удалённом соединении, прописать запуск сабжа... Но автор утверждает, что это невозможно. А это значит, что при появлении каждого нового пользователя я должен ехать в соседнюю область и ручками класть в папку автозапуска сабж. Неудобно же!
37. Дмитрий (metaeditor) 02.07.09 17:09
под батником подразумевается стартовая программа в настройках терминального подключения или ярлычок на столе у пользователя?

Как бы там нибыло, программа работает на стороне клиентского компьютера, а не изнутри терм. сервера. А вот как доставить её туда уже решай сам. Можно написать небольшой инсталлятор помещающий её в реестр в автозагрузку, или тупо sfx архив вроде
Path="%systemdrive%\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка"
Setup="%systemdrive%\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\HideRDPxButtoN.exe"
Silent=1
Overwrite=1

и отправить его по почте
38. Vasily Kushnir (vasilykushnir) 09.09.09 11:19
Вот даже не знаю как сказать... То ли эта приблуда, то ли другая причина: после установки не могу выключить комп (Пуск-Выключить не реагирует никак), хотя все проги и теминальные сессии закрыты.... Версия 1010.
Винда ХР2008 (СП3).
39. Александр Смирнов (AlexDnepr) 28.09.09 12:08
Тут все слепые собрались, включая 3 этажа бухо-теток :?: Данная обработка не убирает "крестик" а сворачивает указанную кнопку в вертикальную линию. Если поводить мышкой на границе соседней кнопки "свернуть к окну" вы увидите всплывающую подсказку "закрыть", клацнув на которую терминальчик закроется. Но для лоха сойдет 8)
40. Вадим Иванцов (grum01) 12.10.09 14:26
респект и уважуха!
Блин, как давно мучался этой проблемой!
41. Андрей Янакаев (YAN) 22.12.09 15:56
Плюсы:
Автору за реализацию нужной фичи!
AlexDnepr за зоркость!
42. Александр Зубцов (iov) 24.12.09 11:46
В качестве минусов решения всех рубить из терминала могу привести пример когда бухия запустила проведение на ночь.. А тут их.. А утром Вас...
Сама софтина полезная забрал на всякий...
Но вот еще проблема а у меня из инета на терминал ходють, с домашних компов. (ну правда и этот вопрос решен был подключением всех "домашних" на отдельный сервак и запуск тулузы там, но не у всех есть "отдельный" сервак для этих целей.)
43. Александр Зубцов (iov) 24.12.09 12:01
А вообще данная проблема была решена одним замечательным способом.
Написана видео инструкция ПРИНУДИТЕЛЬНО ПОКАЗЫВАЕМАЯ при запуске терминала все кто остался в терминале не по делу получали штраф - 500 руб. вечером (иногда приходится и так работать) если кто-то не вышел - снимок экрана и списка процессов пользователей либо пользователи сами звонили и просили их выкинуть (забыли срочно уехали и другое) как итог всегда вкусное кофе и денежные пожертвования в копилку (брать 100 руб совесть не позволяет а вот в копилку суют- самое оно. )
А да и соответственно штраф оформлен как приказ от генерального.
44. Евгений Мартыненков (JohnyDeath) 24.12.09 12:30
(43) А если сам генеральный нем умеет нормально выходить (да и научиться не хочет)? :D
Тоже штраф?
45. Александр Зубцов (iov) 24.12.09 12:44
(44) Не тут маааленькая хитрость. Я принципиально не знаю паролей пользователей а после того как я закрыл принудительно его недописанный документ, он запретил это делать если только по звонку (а звоню я в 24.00 или 2.00) и после этого спокойно сплю до 12-13 часов. а если трубку не взял то на утро он и ничего не скажет почему не сделано сам же распорядился. Так что крайним не останусь.
46. Александр Зубцов (iov) 24.12.09 12:45
Знаки припинания - зло.... ибо их надо ставить.
47. Александр Ермоленко (Alxndr) 19.08.10 17:24
ИМХО лучшее решение данной проблемы. Респект автору.

Маленький минус: программа немного устарела и работает только на mstsc версии 6.0.6000 и старше; в частности в Windows XP (SP3) с обновлением KB956744 не работает :cry:.
48. kuppidon kuppidon (kuppidon) 21.10.10 10:54
Чето не работает. Стоит server 2003 (32-bit) - запускаю прогу вручну, с автозагрузки, с включенной 1С-кой, с выключенной - кнопка Закрыть как была так и осталась... :cry:
49. Александр Ермоленко (Alxndr) 21.10.10 14:25
> Чето не работает. .... с включенной 1С-кой
А при чем здесь включена 1С или не включена :?:
Данная прога "убирает" крестик в панели клиента терминального сервера и ни-че-го "не знает" об 1С :!: Кроме того mstsc должен быть версии 6.0 или старше - см. пост №47.
50. Дмитрий (metaeditor) 24.12.10 20:33
версия 1.0.1.1:
добавлена поддержка RDP клиентов от XPSP3, Vista, Windows7
51. Аркадий Кучер (Abadonna) 18.03.11 12:52
Заглянул в исходники, дарю самый простой способ проверить на повторный запуск;)
uses
  Forms,Windows,SysUtils, 
  UMain in 'UMain.pas' {WndsForm};

{$R *.res}

begin

  Application.Initialize;
  CreateMutex(nil, LongBool(true), PChar(ExtractFileName(Application.ExeName)));
  if GetLastError = ERROR_ALREADY_EXISTS then Exit; // вот оно!!!!
  Application.CreateForm(TWndsForm, WndsForm);
  Application.Run;
end.
...Показать Скрыть
52. SumMrak (SumMrak) 08.09.11 11:12
53. Sergey Slepen (Slepen) 13.09.11 12:00
Пользуюсь очень давно. Очень полезная вещь. Отдельное спасибо за W7
54. Александр Горбачёв (SanyaGrek) 21.09.11 14:43
Годная вещь.
Поставим нашим бухам.
55. Михаил Чухламов (maikl_len) 03.10.11 11:59
Очень простенько написано, но вещь пришлась по вкусу нашему руководству.
56. krosaf4eg (krosaf4eg) 20.10.11 16:00
а как вообще убрать верхнюю панель?
57. Дмитрий (metaeditor) 21.10.11 18:29
(56) в свойствах подключения закладка Экран, там галка
58. krosaftcheg krosaftcheg (krosaftcheg) 22.10.11 20:42
(57) metaeditor, да, спасибо. Уже и сам нашел. Только напрягает то, что панель показывается первые 5 секунд
59. zbw@tut.by (zbwZlobin) 24.10.11 12:29
Спасибо автору. Все работает Хорошо. Кнопка "Х" становится недоступна. Но ЕЁ можно нажать между кнопок "Прямоугольник" и "Х" доступна маленькая полосочка Win2003Server.
60. Igori Krutoi (IgoriKr) 28.12.11 17:42
Хоть штрафуй, хоть предупреждай (как написано выше) все равно находятся те, кому 'проще и быстрее' выходить из терминальной сессии через [X]. Данное решение помогло этих злобных юзеров 'приучить' как культурно надо выходить.
Спасибо от админа и коллег по сопровождению 1С.
61. Брест Беларусь (zhleonid8) 05.02.12 05:47
62. VictorK (VictorK) 03.03.12 15:22
У меня заработало Windows Server 2003, тоже присоеденился к списку у кого заработало и поставил свой "+" .
63. uriah (uriah) 03.03.12 15:30
А на 2008 64- битном будет работать? А то извели юзвери.
64. Dmitriy (daho) 03.04.12 13:40
Огроммммное спасибо!!! то что нужно!!!
Правда прививать придется с боем...
65. Константин (sp) 09.08.12 11:30
Хотели воспользоваться данной программкой на предприятии (в домене), но наблюдаются какие-то странности, а именно, если у пользователя нет рабочего стола, т.е. в настройках прописан запуск приложения, то у одних пользователей при входе прописанное приложение не запускается (чистый экран), у других - очень долго завершается терминальный сеанс при закрытии приложения(1С). При отключении проги всё нормализуется.
66. Дмитрий (metaeditor) 21.08.12 15:09
(65)программка никаким образом не лезет в терминальный сеанс, она тупо скрывает крестик. думаю просто совпадение
67. Алекс Ю (AlexO) 21.08.12 16:04
(66) metaeditor,
ну как это не лезет, если работает напрямую с окном терминала?
(65) sp,
если у пользователя нет рабочего стола

и как тогда затавить пользователя выйти?
(18) metaeditor,
только тогда 1с закрывается аварийно и требует переиндексации

и как тогда решить этот краеугольный вопрос?
Ну не может закрыть по крестику, ну оставил сессию открытой, ну сервер автоматически закрыл неиспользуемую сессию...
А как быть с 1С, которой очень не нравится подобное обращение?
68. grumpi (grumpi) 04.02.16 15:07
В windows 7, в утилите версии 1.0.1.1 кнопка терминального сеанса в окне исчезает, но если окно с сеансом свернуть, то в панели задач при наведении указателя на окно кнопка Х присутствует. Получается, что проблема закрытия сеанса не решается полностью... Есть ли решение этой проблемы?
69. Дмитрий (metaeditor) 05.02.16 06:07
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"ExtendedUIHoverTime"=dword:000186a0

этот параметр реестра устанавливает очень долгую задержку перед показом всплывающего меню, фактически отключает его

но ещё остается правый клик на свернутом приложении, там тоже есть кнопка закрытия, я так и не нашел как его отключить
70. Сергей (Che) Коцюра (CheBurator) 07.02.16 01:51
Стоит и у меня эта пряталка крестика
Все это все равно костыли
Пока пипл не поймет и не прочувствует своим телом что любая ошибка это извините мпх в (_._) ничего принципиально не поможет. У меня пипл уходит просто забывая выйти из базы. Пока не сделать что при неправилтном завершении или незавершении работы турникет на выход не откроется и придется для исправления ситуации перется на тпетий этаж - только такие злобные методы рулят. Остальное - пофиг
71. Дмитрий (metaeditor) 07.02.16 11:21
10 лет почти прошло, ужс)
72. Р К (Smiley-R) 15.03.16 07:51
73. Виталий (PVG_73) 22.09.16 14:22
(71) metaeditor, а до сих пор актуально..... ;-)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа