1

Тема: AHK: Как включать\отключать Aero в теме Windows 7х64?

Поиск не помог.
Подскажите, если кто знает: как включать\отключать Aero в теме Windows 7х64?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

2

Re: AHK: Как включать\отключать Aero в теме Windows 7х64?

Включать: DllCall("Dwmapi\DwmEnableComposition", "UInt", 1)
Отключать: DllCall("Dwmapi\DwmEnableComposition", "UInt", 0)
Переключать:

ToggleComposition()
{
    DllCall("Dwmapi\DwmIsCompositionEnabled", "UInt*", isEnabled)
    DllCall("Dwmapi\DwmEnableComposition", "UInt", !isEnabled)
}

Если выполняется программа, которая произвела вызов DwmEnableComposition с аргументом «0»,
то вызов в иной программе DwmEnableComposition с аргументом «1» не включит аэро.

Disabling DWM composition disables it for the entire desktop. DWM composition will be automatically enabled when all processes that have disabled composition have called DwmEnableComposition to enable it or have been terminated. The WM_DWMCOMPOSITIONCHANGED notification is sent whenever DWM composition is enabled or disabled.

Если имеется в виду «отключать-включать опцию настроек», то это нужно конкретизировать в вопросе темы.

3 (изменено: serzh82saratov, 2012-12-20 13:36:53)

Re: AHK: Как включать\отключать Aero в теме Windows 7х64?

Спасибо! Так работает:

1::
DllCall("Dwmapi\DwmEnableComposition", "UInt", 1)
Return
2::
DllCall("Dwmapi\DwmEnableComposition", "UInt", 0)
Return

Если имеется в виду «отключать-включать опцию настроек»

Не понял как это.
Наверно:
А вот так выключает и включает снова:

DllCall("Dwmapi\DwmEnableComposition", "UInt", 0)
ExitApp

Если ExitApp заменить на Return - то нормально.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4

Re: AHK: Как включать\отключать Aero в теме Windows 7х64?

ExitApp или Return - без разницы, упрощенный стиль действует, пока работает скрипт. Просто в случае, если в нем есть горячие клавиши, Return не вызывает завершение работы.

5

Re: AHK: Как включать\отключать Aero в теме Windows 7х64?

Irbis пишет:

ExitApp или Return - без разницы, упрощенный стиль действует, пока работает скрипт. Просто в случае, если в нем есть горячие клавиши, Return не вызывает завершение работы.

Ну это очевидно же.
Вопрос как включить нужный режим и выйти?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK: Как включать\отключать Aero в теме Windows 7х64?

Программно, скорее всего, никак, ибо:

MSDN пишет:

DWM composition will be automatically enabled when all processes that have disabled composition have called DwmEnableComposition to enable it or have been terminated.

Так что только в настройках.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Как включать\отключать Aero в теме Windows 7х64?

Если у тебя есть перманентно работающий скрипт с полезными хоткеями (в автозагрузке), просто добавь туда хоткей на вкл/выкл Aero.

8 (изменено: Indomito, 2012-12-22 11:16:14)

Re: AHK: Как включать\отключать Aero в теме Windows 7х64?

serzh82saratov вот готовый фрагмент скрипта, осталось только определить переменную toggle

ToggleAero:
if toggle := !toggle
   DllCall("dwmapi\DwmEnableComposition", "uint", 0) ; DllCall For Windows Decomposition ; On
else
   DllCall("dwmapi\DwmEnableComposition", "uint", 1) ; DllCall For Windows Decomposition ; Off
return

переключение не нужно, оно реализовано в самом IF.

P.S. Если требуется самому переключать то поправь конструкцию if toggle := !toggle

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro

9

Re: AHK: Как включать\отключать Aero в теме Windows 7х64?

Indomito, а чем твой пример лучше, чем скрипт из поста №2?
Вопрос не в том, как переключить, а в том, чтобы это состояние осталось после завершения скрипта.

10

Re: AHK: Как включать\отключать Aero в теме Windows 7х64?

Irbis пишет:

Indomito, а чем твой пример лучше, чем скрипт из поста №2?

  проглядел, извиняюсь.

Вопрос не в том, как переключить, а в том, чтобы это состояние осталось после завершения скрипта.

не понял, ну переключили и оно останется... правда я не проверял что будет с Aero после завершения скрипта, т.е. у меня остаётся то что я сделал, но если написать "косо" - не в курсе

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
Для NotePad++(подсветка синтаксиса, автозавершение и плагины(AutoSave и RunMe).
OS Windows 10 x64 Pro