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

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

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

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

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

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

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

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

См. также

Комментарии
1. Михаил (mdzen) 236 04.09.06 12:52 Сейчас в теме
2. Сhe Burashka (CheBurator) 05.09.06 00:01 Сейчас в теме
Ок.. и у самого так и тянется рука на крестик кликнуть...
+1
3. Сергей (Gambit) 05.09.06 06:09 Сейчас в теме
4. Александр (imsoftware) 173 05.09.06 12:38 Сейчас в теме
Очень простенько написано, но вещь незаменимая! +1
5. Дмитрий (metaeditor) 915 05.09.06 13:23 Сейчас в теме
6. Алексей Лапицкий (Lapitskiy) 809 09.09.06 16:30 Сейчас в теме
У меня почему-то крестик пропадает только когда программу свернешь, а потом развернешь, а сразу при загрузке крестик есть! Работаю с RDP через сохраненный ярлык.
7. Дмитрий (metaeditor) 915 09.09.06 19:58 Сейчас в теме
его видно но насамомделе его нет...) после перерисовки он и пропадает... завтро новая версия будет с ещеодной фичей...
8. Дмитрий (metaeditor) 915 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) 915 22.09.06 03:53 Сейчас в теме
(Girdar):
программа запускается на терминальном сервере или на клиенте?
запускается до запуска терминального подключения?
ОС на клиенте?
версия терминального клиента на клиенте (файл mstsc.exe)?
кто виноват?
что делать?
в каком году было восстание спартака?
11. Anonymous 26.09.06 11:37 Сейчас в теме
Вот ещё бы при запуске из терминала работала. :)
12. Дмитрий (metaeditor) 915 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) 915 12.12.06 16:00 Сейчас в теме
это одна из функций программы, о чем честно написано в описании... )
надо завершить терминальный сеанс, или использовать первую версию программы, (ссылка выше), она не контролирует выключение компьютера...
17. Константин (empost) 31.12.07 18:51 Сейчас в теме
а что мешает в AD прописать завершение отключенного сеанса?
tarasenkov; +1 1 Ответить
18. Дмитрий (metaeditor) 915 02.01.08 04:45 Сейчас в теме
ничего не мешает... только тогда 1с закрывается аварийно и требует переиндексации...
19. Дмитрий (metaeditor) 915 02.01.08 04:52 Сейчас в теме
да, и незабываем что кроме терминала у некоторых 1с ещё работает в сетевом варианте :)
20. Дмитрий (metaeditor) 915 03.01.08 13:13 Сейчас в теме
так, предыдущий мой пост нечитать... праздники праздники...
21. Александр (dobraleks) 136 29.01.09 10:05 Сейчас в теме
у меня чтото не работает (Сервер 2000).
скачал, распаковал, запустил екзешник и ничего....
Подключал с сервака, до подключения сесий терминальных
Подскажите может чтото нетак делал??
22. Дмитрий (metaeditor) 915 29.01.09 14:12 Сейчас в теме
ехе запускается на клиентском компьютере или на сервере?
какая версия терминального клиента на клиенте (файл mstsc.exe)?
23. Александр (dobraleks) 136 30.01.09 14:16 Сейчас в теме
версия 6.0.6001.18000
делал так,
перегрузил сервак, пока никто еще не подключился к нему запустил екзешник с сервака, но ничего не произошло,
опять перегрузил, думал что изменения вступят в силу.
Зашел под юзером, запрета нету.. Вот думаю что не так делал??
24. Дмитрий (metaeditor) 915 31.01.09 19:35 Сейчас в теме
>запустил екзешник с сервака
всёравно непойму... запустил на сервере или запустил на клиенте с общей папки на сервере?

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

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

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

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

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

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

Например, у меня подопечные находятся не в соседней комнате, а в соседней области. И квалификация в работе с ПК у них очень низкая. Я бы мог им выслать сабж, чтоб они его положили в указанное место. Потом бы я в батник, который выполняется при удалённом соединении, прописать запуск сабжа... Но автор утверждает, что это невозможно. А это значит, что при появлении каждого нового пользователя я должен ехать в соседнюю область и ручками класть в папку автозапуска сабж. Неудобно же!
37. Дмитрий (metaeditor) 915 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) 62 09.09.09 11:19 Сейчас в теме
Вот даже не знаю как сказать... То ли эта приблуда, то ли другая причина: после установки не могу выключить комп (Пуск-Выключить не реагирует никак), хотя все проги и теминальные сессии закрыты.... Версия 1010.
Винда ХР2008 (СП3).
39. Александр Смирнов (AlexDnepr) 28.09.09 12:08 Сейчас в теме
Тут все слепые собрались, включая 3 этажа бухо-теток :?: Данная обработка не убирает "крестик" а сворачивает указанную кнопку в вертикальную линию. Если поводить мышкой на границе соседней кнопки "свернуть к окну" вы увидите всплывающую подсказку "закрыть", клацнув на которую терминальчик закроется. Но для лоха сойдет 8)
40. Вадим Иванцов (grum01) 210 12.10.09 14:26 Сейчас в теме
респект и уважуха!
Блин, как давно мучался этой проблемой!
41. Андрей Янакаев (YAN) 1353 22.12.09 15:56 Сейчас в теме
Плюсы:
Автору за реализацию нужной фичи!
AlexDnepr за зоркость!
42. Александр Зубцов (iov) 359 24.12.09 11:46 Сейчас в теме
В качестве минусов решения всех рубить из терминала могу привести пример когда бухия запустила проведение на ночь.. А тут их.. А утром Вас...
Сама софтина полезная забрал на всякий...
Но вот еще проблема а у меня из инета на терминал ходють, с домашних компов. (ну правда и этот вопрос решен был подключением всех "домашних" на отдельный сервак и запуск тулузы там, но не у всех есть "отдельный" сервак для этих целей.)
43. Александр Зубцов (iov) 359 24.12.09 12:01 Сейчас в теме
А вообще данная проблема была решена одним замечательным способом.
Написана видео инструкция ПРИНУДИТЕЛЬНО ПОКАЗЫВАЕМАЯ при запуске терминала все кто остался в терминале не по делу получали штраф - 500 руб. вечером (иногда приходится и так работать) если кто-то не вышел - снимок экрана и списка процессов пользователей либо пользователи сами звонили и просили их выкинуть (забыли срочно уехали и другое) как итог всегда вкусное кофе и денежные пожертвования в копилку (брать 100 руб совесть не позволяет а вот в копилку суют- самое оно. )
А да и соответственно штраф оформлен как приказ от генерального.
44. Евгений Мартыненков (JohnyDeath) 291 24.12.09 12:30 Сейчас в теме
(43) А если сам генеральный нем умеет нормально выходить (да и научиться не хочет)? :D
Тоже штраф?
45. Александр Зубцов (iov) 359 24.12.09 12:44 Сейчас в теме
(44) Не тут маааленькая хитрость. Я принципиально не знаю паролей пользователей а после того как я закрыл принудительно его недописанный документ, он запретил это делать если только по звонку (а звоню я в 24.00 или 2.00) и после этого спокойно сплю до 12-13 часов. а если трубку не взял то на утро он и ничего не скажет почему не сделано сам же распорядился. Так что крайним не останусь.
46. Александр Зубцов (iov) 359 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) 915 24.12.10 20:33 Сейчас в теме
версия 1.0.1.1:
добавлена поддержка RDP клиентов от XPSP3, Vista, Windows7
51. Аркадий Кучер (Abadonna) 3658 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) 44 20.10.11 16:00 Сейчас в теме
а как вообще убрать верхнюю панель?
57. Дмитрий (metaeditor) 915 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) 8 03.04.12 13:40 Сейчас в теме
Огроммммное спасибо!!! то что нужно!!!
Правда прививать придется с боем...
65. Константин (sp) 09.08.12 11:30 Сейчас в теме
Хотели воспользоваться данной программкой на предприятии (в домене), но наблюдаются какие-то странности, а именно, если у пользователя нет рабочего стола, т.е. в настройках прописан запуск приложения, то у одних пользователей при входе прописанное приложение не запускается (чистый экран), у других - очень долго завершается терминальный сеанс при закрытии приложения(1С). При отключении проги всё нормализуется.
66. Дмитрий (metaeditor) 915 21.08.12 15:09 Сейчас в теме
(65)программка никаким образом не лезет в терминальный сеанс, она тупо скрывает крестик. думаю просто совпадение
67. Алекс Ю (AlexO) 115 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) 915 05.02.16 06:07 Сейчас в теме
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"ExtendedUIHoverTime"=dword:000186a0

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

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