MouseClick(x,y) Alternative?

  • Hallo, da ich noch an meinem Einrichtungsscript für Win7 kämpfe möchte ich mal Fragen ob jemand etwas zuverlässigeres
    kennt als mit MouseClick() und den Bildschirmcoordinaten zB die Desktopsymbole unter "Systemsteuerung/Anpassung/Desktopsymbole ändern" zu ändern.

    Diese Funktionen würde ich zB auch gern noch einbauen:
    - Partitionen formatieren (außer C halt)
    - Partitionen umbenennen
    - Aero Style aktivieren
    - Wartungscenter > Warnmeldungen abschalten usw.

    Solche allgemeinen Einstellungen halt^^
    Mit ControlClick() wird es wahrscheinlich auch nicht gehn da ich keine ControlIDs oder Namen von den Funktionen
    über das "Window Info" - Tool ausgelesen werden können.

    Hoffe ihr könnt mir da irgendwie noch weiterhelfen. :)

  • Für Aero gibt es Funktionen von GTASpider:

    Spoiler anzeigen
    [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]
  • Cool schonmal ein Problem weniger^^
    Danke dir und auch GTASpider für die Funktion ;)

  • So und weiter geht's :D
    Über die Forensuche habe ich schon mal das hier gefunden: DesktopSymbole
    Da das ganze über Registry Keys läuft musst du vielleicht mit irgendetwas in der Art EnvUpdate den Desktop aktualisieren.
    EnvUpdate entspricht glaube ich einer neuanmeldung des Benutzers, also nicht zu oft innerhalb einer bestimmten Zeitspanne verwenden. ;)
    Und was sagt uns das? Genau! Zuerst suchen, dann posten. :P

  • Puh, das ding ist ja das es für jede kleine Einstellung sauviel Code ist den ich kapieren und einsetzen muss.
    Deshalb hab ich ja den Thread gemacht das ich vllt doch mit ControlClick() oder was ähnlichen arbeiten kann.

    PS: Ich versichere dir jedoch das ich bereits selber die Registry nach Desktopsymbolen durchsucht habe , gegoogelt und auch hier im Forum geschaut. Aber wie schon gesagt wenn es etwas leichteres Gäbe wär es schön :D
    Trotzdem Danke für deine Hillfsbereitschaft!

  • Das ist nicht so lang und kompliziert wie du denkst.^^
    Im Prinzip sind diese RegWrite Befehle der Kern der Sache:
    z.B. Icon für Arbeitsplatz ändern ($Arbeitsplatz ist der Pfad zur .ico Datei und $var[1] der Benutzer):

    [autoit]

    RegWrite("HKEY_USERS\" & $var[1] & "\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon", "", "REG_SZ", $Arbeitsplatz)

    [/autoit]
  • Jo Ok das werd ich mir mal anschauen, aber mal ne Frage nebenbei :
    Gibt es ne Möglichkeit Verknüpfungen auszuführen, also .ink Dateien?

    Mit Run() und FileOpen() hatte ich kein Erfolg ?(