Registry Einträge erstellen löschen ändern

  • Käse 1 : 2 Käsereibe

    Morgen :party:

    irgendwie bekomme ich das nicht so ganz hin...

    wenn x86 Betriebssystem:

    Code
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
    "DisableEngine"=dword:00000001
    "SbEnable"=dword:00000000
    "DisablePCA"=dword:00000001


    wenn x64 Betriebssystem:

    Code
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
    "DisableEngine"=dword:00000001
    "SbEnable"=dword:00000000
    "DisablePCA"=dword:00000001
    
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\AppCompat]
    "DisableEngine"=dword:00000001
    "SbEnable"=dword:00000000
    "DisablePCA"=dword:00000001


    und zurücktoggln / -setzen:

    Code
    [-HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
    
    
    [-HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\AppCompat]

    und das ganze als .au3 script und nicht als .reg oder .cmd

    weiter als so bin ich nicht gekommen... was natürlich auch nicht funktioniert hat -.-

    Spoiler anzeigen
    [autoit]


    #RequireAdmin

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

    Func ToggleHiddenFiles($ApplicationCompatibility=1,$ProgramCompatibility=1,$SwitchBackCompatibility=1)
    $RegKey="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat"
    $DisableEngine=RegRead($RegKey, "DisableEngine")
    $DisablePCA=RegRead($RegKey, "DisablePCA")
    $SbEnable=RegRead($RegKey, "SbEnable")

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

    If $ApplicationCompatibility=1 Then
    If $DisableEngine=1 Then
    RegDelete($RegKey,"DisableEngine")
    Else
    RegWrite($RegKey, "DisableEngine", "REG_DWORD", 1)
    EndIf
    EndIf
    If $ProgramCompatibility=1 Then
    If $DisablePCA=1 Then
    RegDelete($RegKey, "DisablePCA")
    Else
    RegWrite($RegKey, "DisablePCA", "REG_DWORD", 1)
    EndIf
    EndIf
    If $SwitchBackCompatibility=1 Then
    If $SbEnable=1 Then
    RegDelete($RegKey, "SbEnable")
    Else
    RegWrite($RegKey, "SbEnable", "REG_DWORD", 0)
    EndIf
    EndIf

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

    EndFunc

    [/autoit]
  • Und was ist nun genau deine Frage?

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • 1. soll automatisch festgestellt werden ob das betriebssystem x86 oder x64 ist
    2. soll er dann die registry einträge erstellen, wenn nicht vorhanden
    3. beim wiederholten ausführen die registry einträge löschen, wenn vorhanden
    (2.+3.)=toggle

    mein problem ist, das ich ein vorhandenes script aus dem hauptforum habe und da die werte angepasst hab, aber es nicht so wirklich funkioniert allein zu togglen

  • Na, dann mit @OSArch herausfinden, ob x86 oder x64.
    Dann entsprechende Schlüssel lesen ob vorhanden.
    - Wenn nein, dann erstellen und Return
    - Wenn ja, dann entscheiden, wenn Eintrag = xyz dann abc schreiben // Wenn aber Eintrag = abc, dann xyz schreiben


    :)


  • Na, dann mit @OSArch herausfinden, ob x86 oder x64.
    Dann entsprechende Schlüssel lesen ob vorhanden.
    - Wenn nein, dann erstellen und Return
    - Wenn ja, dann entscheiden, wenn Eintrag = xyz dann abc schreiben // Wenn aber Eintrag = abc, dann xyz schreiben

    das hättest du dir auch sparen können, weil was ich will, weiß ich selbst und steht oben...

  • veronesi hat dir genau gesagt was du machen musst um dein Ziel zu erreichen. Wenn du zu faul bist die Hilfe zu Lesen kann man dir auch nicht helfen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Das ist das Nebenproblem..
    Das Hauptproblem ist das er die werte nicht ändert

    Spoiler anzeigen
    [autoit]


    #RequireAdmin

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

    Func ToggleHiddenFiles($ApplicationCompatibility=1,$ProgramCompatibility=1,$SwitchBackCompatibility=1)
    $RegKey="HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat"
    $DisableEngine=RegRead($RegKey, "DisableEngine")
    $DisablePCA=RegRead($RegKey, "DisablePCA")
    $SbEnable=RegRead($RegKey, "SbEnable")

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

    If $ApplicationCompatibility=1 Then
    If $DisableEngine=1 Then
    RegDelete($RegKey,"DisableEngine")
    Else
    RegWrite($RegKey, "DisableEngine", "REG_DWORD", 1)
    EndIf
    EndIf
    If $ProgramCompatibility=1 Then
    If $DisablePCA=1 Then
    RegDelete($RegKey, "DisablePCA")
    Else
    RegWrite($RegKey, "DisablePCA", "REG_DWORD", 1)
    EndIf
    EndIf
    If $SwitchBackCompatibility=1 Then
    If $SbEnable=1 Then
    RegDelete($RegKey, "SbEnable")
    Else
    RegWrite($RegKey, "SbEnable", "REG_DWORD", 0)
    EndIf
    EndIf

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

    EndFunc

    [/autoit]