Что нового

Удалить ToolTip (подсказку) другой программы

DanSaratov

Новичок
Сообщения
112
Репутация
1
Бывает, от программ остаются не полностью удалённые ToolTip'ы
2015-02-28_183002.jpg

Как их удалить с помощью autoit?
 
Автор
DanSaratov

DanSaratov

Новичок
Сообщения
112
Репутация
1
madmasles сказал(а):
DanSaratov [?]
Бывает, от программ остаются не полностью удалённые ToolTip'ы
Можно пример таких программ.
Когда блокирую комп через ScreenBlur, после разблокировки остаются такие штуковины. После перезапуска explorer.exe они пропадают, но мне нужен другой способ.
 

gloss

Ленивое кодило
Сообщения
155
Репутация
5
DanSaratov
А вы не смотрели, можно ли в самой программе их отключить?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
DanSaratov,
Дождитесь появления такого (их) ToolTip'а (ов) и попробуйте запустить этот код:
Код:
#include <GUIToolTip.au3>

Opt('MustDeclareVars', 1)

 _Hide_Blank_ToolTips()

Func _Hide_Blank_ToolTips()
	Local $a_List, $s_Title

	$a_List = WinList('[CLASS:tooltips_class32]')
	For $i = 1 To $a_List[0][0]
		If Not (BitAND(WinGetState($a_List[$i][1]), 2)) Then ContinueLoop
		$s_Title = WinGetTitle($a_List[$i][1])
		If StringRegExp($s_Title, '[^\s]') Then ContinueLoop
		_GUIToolTip_TrackActivate($a_List[$i][1], 0)
	Next
EndFunc   ;==>_Hide_Blank_ToolTips


Если у Вас этот код работает, то можно добавить опцию принадлежности ToolTip'а к конкретным процессам.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
DanSaratov [?]
1. Что показывает AutoIt v3 Window Info при наведении на эти окна?
2. Попробуйте заменить строку
Код:
;~ ...
;~         $s_Title = WinGetTitle($a_List[$i][1])
;~ 		   на
        ConsoleWrite('>' & $s_Title & '<' & @LF)
;~ ...
Что напишет в консоли?
 
Автор
DanSaratov

DanSaratov

Новичок
Сообщения
112
Репутация
1
1. Что показывает AutoIt v3 Window Info при наведении на эти окна?
2. Попробуйте заменить строку
Код:
;~ ...
;~         $s_Title = WinGetTitle($a_List[$i][1])
;~ 		   на
        ConsoleWrite('>' & $s_Title & '<' & @LF)
;~ ...
Что напишет в консоли?
1. В том то и дело, что ничего не показывает.
2. В консоль ничего не пишет
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
DanSaratov,
А если нажать клавишу F5 или ПКМ на рабочем столе и в меню "Обновить", не убираются эти окна?
 

gloss

Ленивое кодило
Сообщения
155
Репутация
5
Возможно, это проблема вовсе не программы.
Немного ссылок:
https://toster.ru/q/14315
http://superuser.com/questions/243922/tooltips-shadow-stuck-on-desktop
 
Автор
DanSaratov

DanSaratov

Новичок
Сообщения
112
Репутация
1
gloss сказал(а):
Возможно, это проблема вовсе не программы.
Немного ссылок:
https://toster.ru/q/14315
http://superuser.com/questions/243922/tooltips-shadow-stuck-on-desktop
Так оно и есть. Если отключить эффекты затухания подсказок, то они всё равно появляются, но при клике в любом месте экрана пропадают.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
DanSaratov
Код:
WinClose("[class:SysShadow]")
 
Автор
DanSaratov

DanSaratov

Новичок
Сообщения
112
Репутация
1
Код:
WinClose("[class:SysShadow]")
Это работает, но выполняется довольно долго. Нужно запустить этот скрипт 2 раза что бы убрать одну тень, а так как я юзаю блокировку только на домашнем компе, удобнее выключить эту тень в параметрах.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
DanSaratov [?]
запустить этот скрипт 2 раза
Это не скрипт, это подсказка как убрать тень. Если нужен скрипт...
Код:
Opt("WinWaitDelay", 0)

HotKeySet("^+z", "Clear")

While Sleep(1000)
WEnd

Func Clear()
  While WinClose("[class:SysShadow]")
  WEnd
EndFunc
 
Верх