Hallo zusammen,
hat jemand von euch eine Idee? Ich versuche einen Registrywert zu schreiben, den man individuell in einer .ini - Datei anpassen kann. Das Problem ist, über den normalen Weg funktioniert alles super (wenn ich den Befehl ausschreibe). Wenn ich die Daten aus der .ini auslesen will, wird zwar ein neuer Eintrag in der Regisrty erstellt, aber die Keys und Werte werden in dem Ordernamen geschrieben und nicht als Wert angelegt.
Zur Verdeutlichung mal der QT
[autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiListBox.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
Global $Msg = GUIGetMsg()
Opt("GUIOnEventMode", 1)
GUICreate("Testprogramm", 200, 200, 400, 200)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
$INIBUTTON = GUICtrlCreateButton(".ini bearbeiten",50,50, 100,50)
$RUN = GUICtrlCreateButton("Ausführen",50,120, 100,50)
GUICtrlSetOnEvent($INIBUTTON, "_ini")
GUICtrlSetOnEvent($RUN, "_regedit1")
While 1
Sleep (10)
WEnd
Func _exit()
Exit
EndFunc
Func _ini()
Local $INIBUTTON
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $INIBUTTON
If $Msg = $INIBUTTON Then ShellExecute(@ScriptDir & "\config.ini")
EndSwitch
EndFunc
Func _regedit1()
Local $RUN, $REG1, $VAL1, $TYP1, $VALL1
If $Msg = $RUN Then
$REG1 = INIread("config.ini", "REGADD", "REG1", "")
$VAL1= INIread("config.ini", "REGADD", "VAL1", "")
$TYP1 = INIread("config.ini", "REGADD", "TYP1", "")
$VALL1 = INIread("config.ini", "REGADD", "VALL1", "")
RegWrite($REG1 & ", " & $VAL1 & ", " & $TYP1 & ", " & $VALL1)
;~ RegWrite("HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop", "ScreenSaveActive", "REG_SZ", "0")
;~ MsgBox(1, "te", $REG1 & ", " & $VAL1 & ", " & $TYP1 & ", " & $VALL1)
EndIf
EndFunc
Hier die Daten die in der .ini stehen.
Spoiler anzeigen
[REGADD]
REG1="HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop"
VAL1=ScreenSaveActive
TYP1=REG_SZ
VALL1=0