Что нового

[Автоматизация] TeamViewer Автоматическое закрытие окна "Спонсируемый сеанс"

Spanishpilot

Новичок
Сообщения
8
Репутация
0
Версия AutoIt: 3.

Описание: После работы с Teamviewer всплывает окно (как в приложении или ссылке http://ssmaker.ru/8074823c/ ) Прошу написать скрипт который будет "ждать" это окно в трее и закрывать нажатием "Ок" Окно находится поверх всех окон, и без открытия других окон убирается только нажатием "Ок"

Примечания: Буду честен. я не ленивый нажать "Ок" :whistle: Просто окно мешает работе бота.
 

Вложения

alex33

Скриптер
Сообщения
1 453
Репутация
181
Делал 6 мес. назад для себя вот такую утилиту. Может пригодится.
Код:
; prog uniq
$sidProg = "tmvcluniq"
If WinExists("[TITLE:"&$sidProg&"; CLASS:AutoIt v3]") Then
WinClose("[TITLE:"&$sidProg&"; CLASS:AutoIt v3]")
EndIf
AutoItWinSetTitle($sidProg)
Sleep(100)
; end prog uniq

Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 3)
Opt("TrayOnEventMode", 1)
TraySetToolTip("TMV CL version 1")
$item1 = TrayCreateItem("&О программе")
TrayItemSetOnEvent($item1, "_about")
$item2 = TrayCreateItem("&выход")
TrayItemSetOnEvent($item2, "_ex")
#include <GUIConstants.au3>
Global $sWin = "[Title:Спонсируемый сеанс; Class:#32770]"
Func _stc()
	If ProcessExists("TeamViewer.exe") Then
		If WinExists($sWin) Then
			ControlClick($sWin, "", "Button4", "main")
		EndIf
	EndIf
EndFunc
AdlibRegister("_stc", 1000)
Func _about()
	MsgBox(0, 'О программе TMV CL', 'Программа автоматически закрывает сообщения Teamviewer "Завершён бесплатный сеанс", которые появляются при разрыве соединения с компьютероми.')
EndFunc
Func _ex()
	If MsgBox(4, "Подтверждение выхода из TMV CL", "Выйти из программы?") = 6 Then Exit 0
EndFunc

While 1
	Sleep(500)
WEnd

Функция _stc() закрывает это окошко. Код prog uniq вариация на тему
Код:
_Singleton
 
Автор
S

Spanishpilot

Новичок
Сообщения
8
Репутация
0
Примного благодарен :laugh:
 

ZEZ_79

Новичок
Сообщения
1
Репутация
0
Подскажите пожалуйста куда этот код вставить, чтоб окно закрывалось?
 

AZJIO

Меценат
Меценат
Сообщения
2 750
Репутация
1 146
ZEZ_79 [?]
куда этот код вставить
Никуда, его нужно выполнить перед запуском Teamviewer. А ещё лучше в скрипте сделать его запуск, чтобы совместить клик с запуском работы Teamviewer и закончить по завершению работы Teamviewer.
 

mnim

Новичок
Сообщения
1
Репутация
0
AZJIO сказал(а):
ZEZ_79 [?]
куда этот код вставить
Никуда, его нужно выполнить перед запуском Teamviewer. А ещё лучше в скрипте сделать его запуск, чтобы совместить клик с запуском работы Teamviewer и закончить по завершению работы Teamviewer.
РЕБЯТ ВЫ МОЖЕТЕ ВЫЛОЖИТЬ КОНЕЧНЫЙ ФАЙЛ П о ж а л У Й С та !!! Не всеж такие умные. Ну надоел этот "ок" нажимать в конце сеанса уже сил нет !
 
Сообщения
7
Репутация
-1
[Автоматизация] Re: [Автоматизация] TeamViewer Автоматическое закрытие окна &quot;Спонсируемый сеа


хотелось бы
 

ArchangeL

Новичок
Сообщения
17
Репутация
1
Добрый день.
Я не опытный в этом деле.
Может кто то поможете как правильней решить мою проблему.
Утилита работает норм хочу доработать не знаю как правильно дополнить.
Нужно:
Что бы ещё закрывалось окошко как можно быстрее.
Которое выплывает когда вы подключились.
Что интересно когда окно свернуто у него есть я так понимаю название:
Title "Панель TeamViewer (свёрнута)",
Class "TV_ControlWinMinimized"
С помощью "Autoit Window info"
А когда панелька открыта эта кнопка или спрятана или не активна.
Вот не знаю как доработать правильно.
Может при фиксации окна делать клик в определенную точку один раз если можно то как правильно доработать?

Код:
; prog uniq
$sidProg = "tmvcluniq"
If WinExists("[TITLE:"&$sidProg&"; CLASS:AutoIt v3]") Then
WinClose("[TITLE:"&$sidProg&"; CLASS:AutoIt v3]")
EndIf
AutoItWinSetTitle($sidProg)
Sleep(100)
; end prog uniq

Opt("TrayAutoPause", 0)
Opt("TrayMenuMode", 3)
Opt("TrayOnEventMode", 1)
TraySetToolTip("TMV CL version 1")
$item1 = TrayCreateItem("&О программе")
TrayItemSetOnEvent($item1, "_about")
$item2 = TrayCreateItem("&выход")
TrayItemSetOnEvent($item2, "_ex")
#include <GUIConstants.au3>
Global $sWin = "[Title:TeamViewer; Class:#32770]"
Global $sWin = "[Title:Спонсируемый сеанс; Class:TV_ControlWin]"
Func _stc()
    If ProcessExists("TeamViewer.exe") Then
        If WinExists($sWin) Then
            ControlClick($sWin, "", "Button4", "main")
        EndIf
    EndIf
EndFunc
Func _stc()
    If ProcessExists("TeamViewer.exe") Then
        If WinExists($sWin) Then
            ControlClick($sWin, "", "Панель TeamViewer (свёрнута)", "TV_ControlWinMinimized")
        EndIf
    EndIf
EndFunc
AdlibRegister("_stc", 1000)
Func _about()
    MsgBox(0, 'О программе TMV CL', 'Программа автоматически закрывает сообщения Teamviewer "Завершён бесплатный сеанс", которые появляются при разрыве соединения с компьютероми')
EndFunc
Func _ex()
    If MsgBox(4, "Подтверждение выхода из  TMV CL", "Выйти из программы?") = 6 Then Exit 0
EndFunc

While 1
    Sleep(500)
WEnd


Благодарю за внимание.
 

InnI

AutoIT Гуру
Сообщения
4 237
Репутация
1 123
ArchangeL
Что бы ещё закрывалось окошко
Изменения к скрипту alex33 (из ответа #1)
Код:
...
#include <GUIConstants.au3>
Global $sWin = "[Title:Спонсируемый сеанс; Class:#32770]"
Global $sPanel = "[Title:Панель TeamViewer; Class:TV_ControlWin]" ; +
Func _stc()
    If ProcessExists("TeamViewer.exe") Then
        If WinExists($sWin) Then
            ControlClick($sWin, "", "Button4", "main")
        EndIf
        If Not BitAND(WinGetState("Панель TeamViewer (свёрнута)"), 2) Then ; +
            $Pos = WinGetPos($sPanel)                                      ; +
            MouseClick("main", $Pos[0] + 15, $Pos[1] + 97, 1, 0)           ; +
        EndIf                                                              ; +
    EndIf
EndFunc
...
Координаты клика для панели TeamViewer 7. Для других версий, возможно, нужно изменить.
 

ArchangeL

Новичок
Сообщения
17
Репутация
1
Спасибо.
Я проверил но клик происходит на 3мм выше чем нужно.
Я пробовал сам разобраться но не получилось.
Я пробовал определить нужные координаты с помощью Au3Record
там эти координаты были такими:
Код:
_WinWaitActivate("Панель TeamViewer","")
MouseClick("left",13,115,1)


не могу разобраться как их поменять правильно или может есть другой инструмент который показывает координаты (MouseClick) подскажите пожалуйста.
 

ArchangeL

Новичок
Сообщения
17
Репутация
1
вкладка "mouse"
Position: 1014, 906 (и эти значения куда нужно в нижней строке вставить?) :-\
Код:
$Pos[0] + 30, $Pos[1] + 97, 1, 0

извините за глупые вопросы :-[
 

InnI

AutoIT Гуру
Сообщения
4 237
Репутация
1 123
ArchangeL
В меню Au3Info включите "Options - Coord Mode - Window". Теперь на вкладке Mouse координаты будут относительно окна. Их и подставляйте вместо 15 и 97. Основываясь на данных Au3Record, вероятно, у вас должно быть так
Код:
MouseClick("main", $Pos[0] + 13, $Pos[1] + 115, 1, 0)
 

ArchangeL

Новичок
Сообщения
17
Репутация
1
Огромное спасибо. :IL_AutoIt_1:
Все работает супер!
(подбирал координаты для TeamViewer V9) если кому интересно.
 

makapoh

Новичок
Сообщения
1
Репутация
0
Скрипт пытается работать, но проблема в том, что есть еще одно окно, которое постоянно хватает фокус на себя, а с неактивным окном ControlClick не работает) WinActivate окно активирует, но кликнуть не успевает, фокус уходит раньше)
Что-нибудь можно сделать?)
 

alex33

Скриптер
Сообщения
1 453
Репутация
181
У меня вот кликает и в неактивном, только щас попробовал, незнаю... :smile:


Добавлено:
Сообщение автоматически объединено:

Ну код-то он такойже, обычный, из моего первого сообщения (Ответ #1)...
Код:
Global $sWin = "[Title:Спонсируемый сеанс; Class:#32770]"
Func _stc()
    If ProcessExists("TeamViewer.exe") Then
        If WinExists($sWin) Then
            ControlClick($sWin, "", "Button4", "main")
        EndIf
    EndIf
EndFunc
AdlibRegister("_stc", 1000)



Добавлено:
Сообщение автоматически объединено:

P.S. Это я для пользователя dstasv написал :smile:
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 566
Репутация
933
Так на заметку: Если у вас есть лицензия тимвьювера (премиум и выше), то при входе на другой комп, окна бесплатной сесси не будет. Но если вы под платной лицензией авторизуетесь на компьютере, потом когда вы будете заходить под бесплатной нелицензионной учеткой, вас будет кикать с любого компа на который вы зайдете. А тимвьювер будет верищать что "Обнаружено не лицензированное коммерческое использование!"
 

dstasv

Новичок
Сообщения
43
Репутация
1
alex33 сказал(а):


Добавлено:
Сообщение автоматически объединено:

P.S. Это я для пользователя dstasv написал :smile:



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