ShowWinInfo

Название ShowWinInfo
Имя файла (*.txt) ShowWinInfo.txt
Описание Выдает информацию об окне, на которое указывает курсор мыши: дескриптор, класс, дочерние окна и пр.
Автор Вахмурка
Параметры время в секундах
Вызываемые плагины file, miscplugin, childwin, osd
Иконка
Версия 1.0
Дата обновления 16.09.2005

local mpDlgText
local mpDlgCaption = "Window Info"
local mpIcon = "INFORMATION"
local hh, i

for(i = arg(1); i > 0; i = i - 1)
	osd.show(i, "INFINITE", "48", "Arial Cyr", "-1", "255 000 000")
	wait 1
endfor

osd.hide()

setstring Quote "
local Hand = win.handlefrompoint(xmouse, ymouse)
local Area = win.area(xmouse, ymouse)
local Class = childwin.class(Hand)
local Parent = window("class", childwin.parent(Hand))
local Text = childwin.gettext(Hand)

if(Text != "")
	Text = "\nWindow text: " ++ Quote ++ Text ++ Quote

mpDlgText = "Window handle: " ++ Hand ++ "\nWindow class: " ++ Class
mpDlgText = mpDlgText ++ "\nParent window class: " ++ Parent ++ Text
mpDlgText = mpDlgText ++ "\nWindow Area: " ++ Area
flag set 1 2

for(i = 1; 1; i = i + 1)
	hh = childwin.handle(Hand, i)
	if(hh == "") do
		break
	else
		if(pproflag(1)) do
			mpDlgText = mpDlgText ++ "\n___________________________________"
			flag clear 1
		endif
		if(pproflag(2)) do
			mpDlgText = mpDlgText ++ "\n\n"
		else
			flag set 2
		endif
		mpDlgText = mpDlgText ++ "Child window #" ++ i
		mpDlgText = mpDlgText ++ "\n   Class: " ++ window("class", hh)
		Text = childwin.gettext(hh)
		if(Text != "")
			mpDlgText = mpDlgText ++ "\n   Text: " ++ Text 
	endif
	if(i%10 == 0) do
		MiscPlugin.messagebox(1, "&OK")
		mpDlgText = ""	
		flag clear 2
	endif
endfor

MiscPlugin.messagebox(1, "&OK")

Комментарии:

После запуска скрипта на выполнение в центре экрана начинается обратный отсчет. Начальное значение таймера разумно выбирать равным 5 - этого достаточно, чтобы перейти в нужное окно. Затем укажите на него курсором крысы и узнайте об окне много интересного.

Если слова "дескриптор" или "родительское окно" вам ни о чем не говорят, вряд ли вы сможете извлечь из скрипта что-либо полезное.

Вообще-то данный скрипт не имеет прямого отношения к Total Commander. Однако, во-первых, я его использовал для получения информации именно о его окнах (хотя можно навести крысу, скажем, на окно Microsoft Word), а во-вторых, вызывать скрипт удобнее именно из Total Commander.

Вот что покажет скрипт, если навести крысу на вкладки:


На главную Все о Total Commander PowerPro PowerPro & Total Commander