Windows 7 Aero Design mit AutoIT ?

  • Hallo Com,


    Kann man das windows 7 aero design auch mit einem Autoit skript starten und wieder beenden?

    Sozusagen wenn man auf den einen button drückt wird es aktiviert und wen man auf den zweiten button drückt wird es wieder deaktiviert.

    Kann man so etwas mit autoit schaffen ?(

  • Ist doch eine GUI aktion. Natürlich geht das mit AutoIt. Sitze gerade aber vor WinXP :D

  • Aklso ich weis wie man Aero ein-/ausschaltet:
    cmd.exe (mit admin rechten) ausführen und die folgende Befehle eingeben:
    - Einschalten: net start uxsms
    - Ausschalten: net stop uxsms
    Als Skript:

    Spoiler anzeigen
    [autoit]

    Opt("WinTitleMatchMode", 2)
    #include <GUIConstantsEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("Aero Controler", 200, 80)
    GUICtrlCreateLabel("Bitte Wählen sie eine Aktion aus.", 10, 10)
    $EIN = GUICtrlCreateButton(" Einschalten ", 10, 50)
    $AUS = GUICtrlCreateButton(" Ausschalten ", 100, 50)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $EIN
    Run(@SystemDir & "\cmd.exe")
    Sleep(100)
    Send("net start uxsms")
    Send("{ENTER}")
    Sleep(100)
    WinClose("cmd.exe")
    Case $AUS
    Run(@SystemDir & "\cmd.exe")
    Sleep(100)
    Send("net stop uxsms")
    Send("{ENTER}")
    Sleep(100)
    WinClose("cmd.exe")
    EndSwitch
    WEnd

    [/autoit]
  • Kann man das nich auch schöner über Run machen?

    Ich habs jetzt so gemacht.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #RequireAdmin
    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("AreoSwitch", 122, 180, -1, -1, BitAND($WS_POPUP, $WS_BORDER), $WS_EX_TOPMOST)
    $Button1 = GUICtrlCreateButton("Aero An", 2, 1, 121, 49, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Aero Aus", 2, 1 + 49, 121, 49, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Schließen", 2, 1 + 49 + 49, 121, 49, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button3
    Exit
    Case $Button1
    Run(@ComSpec & " /c net start uxsms", @SystemDir, @SW_HIDE)
    Case $Button2
    Run(@ComSpec & " /c net stop uxsms", @SystemDir, @SW_HIDE)
    EndSwitch
    WEnd

    [/autoit]

    Mfg
    monkey

    Monkey - die finale Potenz von göttlich!
    Sloganizer

    2 Mal editiert, zuletzt von monkey (11. August 2010 um 16:08)

  • nohc eine frage

    kann man überprüfen ob das aero design deaktivirt ist oder aktivirt ist?

    • Offizieller Beitrag

    Hallo

    Hab als die Beta von Win7 rauskam angefangen was zu programmieren, aber es nie zu ende geschrieben. Hier mal zwei Funktionen aus der UDF, hoffe es kann helfen :)

    Spoiler anzeigen
    [autoit]

    Global Const $hDwmApiDll = DllOpen("dwmapi.dll")

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================================
    ;
    ; Function Name: _EnableDisableAero()
    ; Description: Enables or Disables the Aero design from Vista to the default design.
    ; Parameter(s): $bEnable [BOOLEAN]: True enables the Aero, False disables it.
    ; Requirement(s): dwmapi.dll, Windows Vista
    ; Return Value(s): Returnvals of DLLCall
    ; Author(s): GtaSpider
    ;
    ;===============================================================================
    ;
    Func _EnableDisableAero($bEnable = True) ;True/False
    Local $aDll = DllCall($hDwmApiDll,"int","DwmEnableComposition","int",$bEnable)
    If @error Then Return SetError(@error,0,0)
    Return $aDll[0]
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;===============================================================================
    ;
    ; Function Name: _IsAeroEnable
    ; Description: Checks if aero is enable
    ; Parameter(s): None
    ; Requirement(s): dwmapi.dll, Windows Vista
    ; Return Value(s): 0 If disabeld, 1 if enabled
    ; Author(s): GtaSpider
    ;
    ;===============================================================================
    ;

    [/autoit] [autoit][/autoit] [autoit]

    Func _IsAeroEnable()
    Local $asDll = DllCall($hDwmApiDll,"int","DwmIsCompositionEnabled","str","")
    If @error Then Return SetError(@error,0,0)
    Return StringReplace(StringReplace(Asc($asDll[1]),"1",True),"0",False)
    EndFunc

    [/autoit]

    Gruß
    Spider

  • Hallo ophiel,
    ich benutze auch Win7 und hab mir seinerzeit ein Script dafür geschrieben.
    Anbei der Quelltext. Um zu prüfen ob DWM aktiv ist oder nicht kannst du ja die UDF nehmen die GTA-Spider
    geposted hat.

    Spoiler anzeigen
    [autoit]

    HotKeySet("!s","_start") ;Alt+s zum starten
    HotKeySet("!b","_stop") ;Alt+b zum beenden

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _start()
    Run(@ComSpec & " /c " & 'net start uxsms', "", @SW_HIDE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _stop()
    Run(@ComSpec & " /c " & 'net stop uxsms' , "", @SW_HIDE)
    EndFunc

    [/autoit]

    LG Daniel

    Einmal editiert, zuletzt von zptsvhbfa (12. August 2010 um 04:46)