Что нового

[Окна, Диалоги] Скрыть языковую панель с помощью скрипта

Romiros

Новичок
Сообщения
5
Репутация
0
Доброго времени суток!

Возникла вот такая задача.
Есть языковая панель управления в Windows 7.
При запуске в Аудит режиме, данная панель весит, вверху экрана
Wy4YbwZx.jpg


Подскажите каким образом ее можно перевести в трей.
Чтобы получилось вот так?
76jqRx5O.jpg


Использование функции WinSetState() с параметрами

Код:
WinSetState("TF_FloatingLangBar_WndTitle", "", @SW_HIDE)
WinSetState("TF_FloatingLangBar_WndTitle", "", @SW_MINIMIZE)

не к чему не приводят.

Может можно как то передать данной форме функцию для сворачивания в трей?
 

axlwor

Скриптер
Сообщения
657
Репутация
147
Попробуй поиграть с реестром
HKEY_CURRENT_USER\Software\Microsoft\CTF\LangBar
ShowStatus
 
Автор
R

Romiros

Новичок
Сообщения
5
Репутация
0
Да я тоже про это думал, два статуса есть
1 - когда развернут в верху экрана,
4 - когда свернуть в низу панели задач.
В реестре играю этими значениями не чего не происходит, а вот когда руками сворачиваешь и разворачиваешь, то статус в реестре меняется.

Я вот думаю что надо как то послать Event на это окно со значением всегда свернут, так как такое значение есть в окне настройке языковой панели, но как это сделать, я не могу пока понять :(



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

Да забыл добавить, что это не окно а таскбар, так называемый :smile: как в ПО панели иконок есть, вот это тоже примерно самое...


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

Обошел эту проблему другим путем!

Нашел функцию, которая просто отключает свойство окна "поверх всех окон".

Код:
WinSetOnTop ( "TF_FloatingLangBar_WndTitle","",0)
- Выключить свойство "Поверх всех окон"
Код:
WinSetOnTop ( "TF_FloatingLangBar_WndTitle","",1)
- Включить свойство "Поверх всех окон"

Может кому пригодиться.

П.С. Но задача остается не решенной. Как при помощи Autoit свернуть языковую панель?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
Код:
#NoTrayIcon

#Include <WinAPI.au3>

Opt('WinTitleMatchMode', 3)
Opt('WinWaitDelay', 0)

$hWnd = WinGetHandle('TF_FloatingLangBar_WndTitle')
$Pos = WinGetPos($hWnd)
$lParam = _WinAPI_MakeLong($Pos[0] + $Pos[2] - 3, $Pos[1] + 3)
For $i = 0x0201 To 0x0202
    _SendMessage($hWnd, $i, 1, $lParam)
Next
 
Автор
R

Romiros

Новичок
Сообщения
5
Репутация
0
Попробовал, к сожалению, не сработало

Не выдает координаты окна.
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Топорнный иметод ;D:
Код:
BlockInput(1)
$MP = MouseGetPos()
$WP = WinGetPos('TF_FloatingLangBar_WndTitle')
MouseClick('left', $WP[0] + $WP[2] - 10, $WP[1] + 10, 1, 0)
MouseMove($MP[0], $MP[1], 0)
BlockInput(0)
 
Верх