Author Topic: Не перетаскивается панель "Удаленный рабочий стол Chrome"  (Read 9292 times)

0 Members and 1 Guest are viewing this topic.

Evgenij_M

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
В чем проблема, прибей.
Code: (clickermann) [Select]
EXECUTE("TASKKILL","/F /IM chrome.exe") // убить процесс
HALT

После этого браузер запустится с сообщением что в прошлый раз он был завершен некорректно. Будет доступна кнопка восстановить предыдущую сессию.

Если бы браузер.
Этот самый "рабочий стол" - дестопное приложение... Абсолютно самостоятельное.
Не помню, что было как-то раз, что соединение разорвалось как-то "не по уставу". Так, на управляющем компе программа продолжала работать, показывая просто чёрный экран вместо удалённого рабочего стола.
Я специально пока не проверял, что будет если "насильно убивать" процесс либо на управляемом, либо на управляющем компе. Если прижмёт - проверю, конечно. Но, пока - у меня всё же ещё теплится надежда наткнуться на "цивилизованный" способ решить задачу  8)

Qwerry

  • Активный участник
  • ***
  • Posts: 117
    • View Profile
По остальным пунктам - это уже моя перестраховка) Извините)
 
Вне зависимости от того, что в итоге должен будет делать кликер Рабочего компа (отключать или напоминать), остальные действия кликеров будут идентичны. Так  что уже есть смысл начать писать (вот вам и небольшой новый проект, благо в итоге его "вычесывать"и усовершенствовать (например в плане содержания сообщений) можно будет доолго))
Что у вас есть уже в какой-то степени готовое?)

В пункте 2 - под спойлером - лежит кусок кода для Домашнего компа с проверкой движения мыши (после 6 секунд неподвижного курсора  появляется напоминалка). Проверяли, работает у вас?

Т.к. проверка интернета должна быть постоянной, а анализ курсора - нет, ставим его  в дочерний поток, к примеру включающийся лишь в случае подтверждения включенного удаленного доступа (THREAD(УдДоступ,0/1) - в кликерманне хорошая справка, всегда с примерами :) Но если появятся какие-то нюансы можно уточнять здесь).

Как по мне, создание/удаление и анализ наличия файла нагрузит комп сильнее, чем просто чтение или перезапись какой-то строчки уже существующего файла (хотя решение за вами - TFCLEAR ("C:\УдДоступ.txt", 1) удаление файла, а если без ",1" - удаление лишь содержания).
Так что возьмем простые логические операции (0 =нет, 1 =  да)

В файле через запись-чтение-удаление строчки (TFWRITE ("C:\УдДоступ.txt", значение, номер строки), TFREAD ("C:\УдДоступ.txt", номер строки), TFDelete("C:\УдДоступ.txt", номер строки) хотя, TFCLEAR как очистка файла здесь тоже не помешает) записываем и анализируем  такие параметры как:
строка 1 = включен ли удаленный доступ, анализируется Домашним, задается Рабочим компом
строка 2 = используется ли удаленный доступ, меняется Домашним, анализируется Рабочим компом. Задается изначальное значение "используется" Рабочим компом, в момент подтверждения наличия удаленного доступа.
строка 3 не обязательная = содержание сообщения-напоминалки (на случай когда все будет готово, а желание "поиграться" с программой еще не пропадет - можно случайно генерировать сообщения, в том числе ласковые, мотивирующие, шуточные.) Задается Домашним компом, а анализируется и удаляется Рабочим.

В конце, когда все остальное будет отлажено и убедитесь, что завершение процесса уместно - сообщение может выходить в духе "Хочешь, я выключу удаленный доступ?" - и при нажатии женой "да", сам будет его отключать.

Evgenij_M

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Для Qwerry

На текущий момент, на домашнем компе у меня работает скрипт, который, раз в 10 секунд, "смотрит" на иконку вай-фай-соединения. Если на иконке появляется желтенький предупредительный треугольничек (типа "Без доступа к интернету" - временами какой-то глюк у этого компа во взаимоотношениях с роутером проскальзывает  :D ), то скрипт кликает в нужные места, с целью перезапустить вай-фай (это всегда помогает, когда причиной отключения является этот самый глюк).

К этому, нормально работающему коду (если код понадобится для обсуждения - выложу), я начал цеплять новый "кусок", который так же, раз в 10 секунд, будет проверять, сдвинулся курсор, или нет. И если курсор будет неподвижен более 10-ти минут, то пока планируется просто СОЗДАВАТЬ пустой текстовой файл с именем "10 минут.txt" в папке Гугл-диска.

На рабочем же компе, я пока думаю запустить скрипт, который, раз в 30 секунд, будет проверять гугловскую папку на наличие в ней файла "10 минут.txt"... И, при обнаружении такового, скрипт, наверно, запустит мою самодельную внешнюю программульку, которая выведет в центре экрана, поверх всех окон, красиво оформленное окошко с галантной просьбой отключить Удалённый доступ.
В зависимости от дальнейшего развития событий, файл "10 минут.txt" планируется использовать для общения скриптов между собой вплоть до достижения какого-то стойкого результата по решаемой задаче. Если задача будет решена успешно, один из скриптов удалит файл... и система перейдёт в исходное состояние.

То есть, сейчас всё уткнулось именно В СПОСОБ ОТКЛЮЧЕНИЯ работающего соединения "Удаленного рабочего стола".
Как только конкретный способ отключения нами будет выбран - я начну писать букавки дальше... прямо в редактор Clickermann-а  :)

Вот... такая пока картинка  ::)

Qwerry

  • Активный участник
  • ***
  • Posts: 117
    • View Profile
Кажется, все-таки действительно есть 2 типа людей: у одних незаконченное дело выглядит как картинки слева, а у вторых - как картинки справа. ;D


Мне привычнее левый вариант - создание каркаса (можно поначалу кривого, но зато сразу работающего) с дальнейшим исправлением, наращиванием/вытачиванием всего остального и после оформлением всего во что-то красивое.

[spoiler]И потому _для моего видения_, даже если пока неизвестен способ закрывать тихо и правильно Удаленный рабочий стол (и даже если он бы и отсутствовал вообще), для цели "Не оставлять его зря включенным!" вполне бы могло служить автоматическое напоминание через 10 минут.  ;)

А поскольку даже галантная просьба в какой-то момент начала бы раздражать, конечным итогом скорее всего было бы решение о том, чтоб надо каждый раз генерировать новое сообщение из 3 элементов: 1. случайная короткая шутка, афоризм, цитата (в духе "Похудеть к весне не получилось… Раскормлю мужа — сыграю на контрасте!") 2. обращение к ней ::) (в список ровно те, за которые не будет стыдно на работе), 3. ", раз уж отвлеклась, может пора выключить удаленный рабочий стол?" (ну тут тоже вариации возможны) ) В сообщении кнопки Да/Нет. И в зависимости от ответа и дейсвия (отключения/оставления проги включенной) решите, что кликерам дальше делать. [/spoiler]
Никаких проблем с созданием/удалением файла нет, общаться внутри него тоже можно. Но вот вопрос - а каким образом планируется проверять его наличие или отсутствие? Тем более, что все должно быть в фоновом режиме.

Насчет корректного способа отключения Удаленного рабочего стола, это вам с женой договариваться надо, чтобы нашла время на эксперименты в этой сфере) Едва ли у кого-то будет лучшая возможность всё выяснить по работе с этой программой, чем у вас. Так что желаю вам и жене удачи в этом деле)))


[spoiler= P.S: ну и повторю еще разок вопрос...]P.S: ну и повторю еще разок вопроc из своего прошлого сообщения) Во 2 пункте моего длинного поста в этой теме был под Спойлером КОД для кликермана (анализ движения курсора). Вы уже его видели? проверяли его работу у себя? [/spoiler]
« Last Edit: July 06, 2017, 03:57:34 PM by Qwerry »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Кликер создан несколько для других целей. У него недостаточно продвинутые инструменты для нахождения и кликов по элементам окон.

Написал на AutoIt простой скрипт
Code: [Select]
#NoTrayIcon
#RequireAdmin
ControlClick("", "Закрыть доступ", "[CLASS:Button; INSTANCE:1]", "primary", 5, 5)

Протестил на виртуальной машине. Панелька успешно закрылась после запуска Close.exe

Скрипт и скомпилированная программа в архиве.
https://yadi.sk/d/9QNhoKBM3KosTw

Вообще этот удаленный доступ от гугла полный дурдом. Требуется для всего этого добра как минимум семерка, а я сижу на XP. Приходится ставить браузер, расширения, какие то программы, иметь аккаунт. И в результате на кнопке выбора компа пишет, "Нужно обновить"  :o Че обновить!
С ноутбука к машине я так и не смог подключиться. В самой виртуалке я подключился к ней же. Ну не важно мне главное было чтоб пнелька появилась.

Тот же TeamViewer куда проще и одинаково хорошо работает как на XP так и на десятке. Его даже инсталлировать необязательно, может работать в портативном режиме.

Evgenij_M

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Для Oraven

Спасибочки Вам чистосердечное  ::)
Сейчас попробую освоить.

Что же касается "Удалённого рабочего стола Chrome", то нам с женой он оказался весьма удобным.
У нас дома на всех компах десятки стоЯт,.. со всеми обновлениями. У жены на работе - семёрка.
Гугл-аккаунты у нас были созданы автоматом при покупке смартфонов.
И теперь, мы можем подключаться к любому своему устройству (хошь Виндовс, хошь Андроид) слегка  8) ... откуда угодно.
Нам - очень нравится.

Ещё раз спасибо. Буду пробовать...

Evgenij_M

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Для Qwerry
Интересный пример с картинками  :)
Хотя, ко мне, вероятно, нельзя "прилепить" ни левый,.. ни правый вариант.

Я всю жизнь занимаюсь "лечением", усовершенствованием либо созданием СИСТЕМ из самых разнообразных компонентов.
И я знаю, что СИСТЕМА способна будет впервые заработать только тогда, когда в нужном порядке будут соединены ВСЕ необходимые компоненты. Не раньше. При этом, я совсем не настаиваю, чтобы сами компоненты в этот момент были доведены до вершины совершенства.

Сейчас же, у меня отсутствует принципиально важный компонент - это РЕШЕНИЕ о том, как будет отключаться соединение  ???

Вот, уважаемый Oraven кинул шанс один  :D ... Пойду использовать  ;)

(ой, чуть не забыл. В работу Ваш код я не запускал ввиду отсутствия подходящей ситуации... Но, Вам я очень благодарен  :) )
« Last Edit: July 06, 2017, 05:38:43 PM by Evgenij_M »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Все, написал полноценную программу с настройками.
https://yadi.sk/d/-fOxCN7v3Kp8ad

Запускаешь Close.exe, живет в трее (от туда же настраивается), каждые 5 секунд проверяет есть ли окно с текстом "В настоящее время доступ к вашему рабочему". Если находит, запускает отсчет периода не активности. Если окно исчезнет (пользователь сам его закроет), снова начинает ждать это окно.
Под не активностью пользователя понимается отсутствие любых действий: движения мыши, клики, нажатие клавиш.

По истечении времени не активности кнопке Закрыть доступ шлется нажатие. Так что не важно что панель будет при этом за экраном, все сработает.

Если что, в архиве присутствует файл исходного кода "Исходный код.au3". Можешь сам при желании скачать AutoIt и скомпилировать код в EXE.


« Last Edit: July 06, 2017, 06:30:49 PM by Oraven »

Evgenij_M

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Для Oraven

Друг,.. ты не поверишь  :'( ... у меня твой первый код доступ не отключает  :'(  :'(  :'(

Как думаешь, стОит мне в этих условиях AutoIt устанавливать, или сразу перейти к попыткам разорвать соединение Clickermann-ом на стороне управляющего, то есть - рабочего компьютера?..  ???

Я надеюсь, что на рабочем компе, приложение "Удаленный рабочий стол..." будет вести себя более "классическим" образом  :o
Я думаю, что скрипт, не создав помех пользователю, сможет засечь момент запуска приложения,.. сможет получить нужную инфу по кнопке... и в дальнейшем, получив сигнал с домашнего компа, в фоновом режиме сам разорвёт соединение  ???

Что посоветуешь?..

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Сам тестировал программу на виртуальной семерке. Все отлично работало.
С этой десяткой одни проблемы. Возможно система блочит программу. Лучше всего её запустить с правими админа.

Evgenij_M

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Сам тестировал программу на виртуальной семерке. Все отлично работало.
С этой десяткой одни проблемы. Возможно система блочит программу. Лучше всего её запустить с правими админа.

Точно!..
С правами!.. (побежал дальше пробовать  ;D )

Evgenij_M

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Это трандец  :o

Ну ни в какую не поддаётся  >:(

Ещё немного надежды осталось. Как и оно закончится - перейду к плану "Б" (разрыв соединения со стороны рабочего компа  :o )

Evgenij_M

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Итак,.. как говорили древние греки: "Утро вечера мудренее.".
И на повестку дня выносится план "Бе",.. согласно которому функцию разрыва связи между двумя компьютерами попытаемся возложить на рабочий, то есть управляющий, компьютер.

Возникает острое желание посоветоваться с опытными автоматизаторами...
Скажите, пожалуйста, каким образом (в смысле, сам принцип,.. без кода) работающему скрипу легче всего, не мешая пользователю, определить нужные параметры кнопки "Разъединить" в только-что запущенной программе "Удалённый рабочий стол...", чтобы иметь возможность потом послать ей "нажатие" вне зависимости от видимости и активности Формы?  ???

(сразу же подразумеваем, что необходимые для этого функции могут быть реализованы на чём угодно, не обязательно на Clockermann-е)

Заранее благодарен всем отозвавшимся  ::)

Qwerry

  • Активный участник
  • ***
  • Posts: 117
    • View Profile
Вариант "привязка кликермана Рабочего компа к окну "Удалённый рабочий стол..." " уже рассматривался? По логике так он мышь не отберет, зато кликнет куда положено и в задвинутом (и скорее всего даже в свернутом) окне.

Evgenij_M

  • Освоившийся
  • **
  • Posts: 58
    • View Profile
Вариант "привязка кликермана Рабочего компа к окну "Удалённый рабочий стол..." " уже рассматривался? По логике так он мышь не отберет, зато кликнет куда положено и в задвинутом (и скорее всего даже в свернутом) окне.

Он, конечно же, в списке вариантов есть.
Я пока до него не дошёл  ::) ,.. потому-что при беглом просмотре Справки у меня осталось впечатление, будто Привязка к окну не может производиться автоматически. А вручную - привязывать скрипт будет некому  ???

Вот и читаю, пока, всё остальное...  :)