Если вы хотите, чтобы Aero был отключен «ПОСТОЯННО» для пользователя независимо от того, работает ли ваше приложение или нет, вам необходимо определить, где этот параметр находится в реестре и изменить этот параметр.
Если вы имели в виду, что вы хотите отключить его только для своего приложения (это означает, что при следующем запуске приложения он будет включен или отключен в зависимости от того, как он был установлен, когда он был последним закрыт), тогда вы необходимо будет сохранить это в пользовательской настройке.
Создайте новую настройку bool (область пользователя) в настройках проекта и назовите ее DWM. Затем, при нажатии кнопки click toggle это значение. Примените это значение к настройке во время выполнения.
EDIT: предыдущая версия привела бы к всегда ложной настройке. Я редактировал инструкции If в блок If-Else.
<System.RunTime.InteropServices.DLLImport("dwmapi.dll", PreserveSig:=False)>
Public Shared Sub DwmEnableComposition(bEnable As Boolean)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If My.Settings.DWM = False THEN
My.Settings.DWM = True
Else
My.Settings.DWM = False
End If
My.Settings.Save()
DwmEnableComposition(My.Settings.DWM)
End Sub
В OnLoad или запуска события вида/приложение, запустить код, чтобы установить истинное или ложное
DwmEnableComposition(My.Settings.DWM)
Вы должны сохранить настройки где, читать настройки при запуске и отключить его, если это правда. – Derek
Ну, я могу сохранить его на компьютере и прочитать его при запуске приложения. Но это не то, что я ищу! Мне нужно, чтобы Windows Aero всегда была отключена, если нажать кнопку. Если пользователь не вернется в приложение и не нажмет кнопку, чтобы снова включить Aero. –
Ваша фразировка трудно понять. Что вы подразумеваете под «выключением приложения»? – Derek