Что нового

Окрасить рамку чужого приложения в зеленый цвет

Suppir

Продвинутый
Сообщения
967
Репутация
62
Добрый день!

Можно ли с помощью AutoIt "подсветить" на 1 секунду рамку вокруг чужого окна, окрасив рамку в зеленый цвет?
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
Suppir

Отсюда http://autoit-script.ru/index.php?topic=8262.msg55810#msg55810

При нажатии Pause показывает зеленую рамку вокруг активного окна
Код:
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>

Opt('TrayMenuMode', 1)
Opt('MustDeclareVars', 1)

Global $aGUI[4]

HotKeySet('{ESC}', '_Exit')
HotKeySet('{Pause}', '_DrawWindow')

For $i = 0 To 3
	$aGUI[$i] = GUICreate('', 0, 0, 0, 0, $WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
	GUISetBkColor(0x00FF00, $aGUI[$i])
	GUISetState(@SW_SHOW, $aGUI[$i])
Next

While 1
	Sleep(50)
WEnd

Func _DrawWindow()
	Local $hWin, $aPos
	$hWin = WinGetHandle('[ACTIVE]')

	If Not $hWin Then Return
	$aPos = WinGetPos($hWin)
	If @error Then Return
	WinMove($aGUI[0], '', $aPos[0], $aPos[1], 5, $aPos[3])
	WinMove($aGUI[1], '', $aPos[0], $aPos[1], $aPos[2], 5)
	WinMove($aGUI[2], '', $aPos[0] + $aPos[2], $aPos[1], 5, $aPos[3])
	WinMove($aGUI[3], '', $aPos[0], $aPos[1] + $aPos[3], $aPos[2] + 5, 5)
	For $i = 0 To 3
		GUISetState(@SW_SHOWNOACTIVATE, $aGUI[$i])
		WinSetOnTop($aGUI[$i], '', 1)
	Next

	Sleep(1000)

	For $i = 0 To 3
		GUISetState(@SW_HIDE, $aGUI[$i])
	Next
EndFunc   ;==>_DrawWindow

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 
Верх