#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=K:\cnc3nod.ico
#AutoIt3Wrapper_Outfile=Kontexmenu_creator.exe
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=BuFF
#AutoIt3Wrapper_Res_Language=1031
#AutoIt3Wrapper_Run_Tidy=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <RegFunc.au3>
#include <array.au3>
#include <file.au3>
#include <GuiListView.au3>
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=C:\Users\Ron\Documents\AutoIT3\Kontexmenu_creator\Kontexmenu.kxf
$Kontexmenu = GUICreate("Kontexmenü - Ersteller", 616, 350, 248, 202)
GUISetOnEvent($GUI_EVENT_CLOSE, "KontexmenuClose")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "KontexmenuMinimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "KontexmenuMaximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "KontexmenuRestore")
$tab = GUICtrlCreateTab(8, 8, 593, 329)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
$allgemein = GUICtrlCreateTabItem("Normales Rechtsklickmenü")
$Input_pfad = GUICtrlCreateInput("", 32, 64, 473, 21)
GUICtrlSetOnEvent(-1, "Input_pfadChange")
$Input_name = GUICtrlCreateInput("", 31, 184, 121, 21)
GUICtrlSetOnEvent(-1, "Input_nameChange")
GUICtrlCreateLabel("Pfad zum Programm:", 32, 40, 101, 17)
GUICtrlSetOnEvent(-1, "Label4Click")
GUICtrlCreateLabel("Name des Eintrags:", 32, 160, 96, 17)
GUICtrlSetOnEvent(-1, "Label5Click")
$Button_pfad = GUICtrlCreateButton("Suchen", 520, 64, 51, 21, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_pfadClick")
$Button_hinzufugen = GUICtrlCreateButton("Hinzufügen", 168, 184, 75, 21, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_hinzufugenClick")
$List1 = GUICtrlCreateList("", 27, 224, 361, 97)
GUICtrlSetOnEvent(-1, "List1Click")
$Button_suchen = GUICtrlCreateButton("Suchen", 419, 224, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_suchenClick")
$Button_entfernen = GUICtrlCreateButton("Löschen", 419, 264, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_entfernenClick")
$Checkbox_nachfragen = GUICtrlCreateCheckbox("Ohne Nachfragen Löschen?", 411, 296, 161, 17)
GUICtrlSetOnEvent(-1, "Checkbox_nachfragenClick")
$drive = GUICtrlCreateTabItem("Drive Rechtsklickmenü")
$input_drive_pfad = GUICtrlCreateInput("", 31, 72, 473, 21)
GUICtrlSetOnEvent(-1, "input_drive_pfadChange")
$Input_drive_name = GUICtrlCreateInput("", 31, 192, 121, 21)
GUICtrlSetOnEvent(-1, "Input_drive_nameChange")
GUICtrlCreateLabel("Pfad zum Programm:", 31, 48, 101, 17)
GUICtrlSetOnEvent(-1, "Label15Click")
GUICtrlCreateLabel("Name des Eintrags:", 31, 168, 96, 17)
GUICtrlSetOnEvent(-1, "Label16Click")
$button_drive_program = GUICtrlCreateButton("Suchen", 519, 72, 51, 21, $WS_GROUP)
GUICtrlSetOnEvent(-1, "button_drive_programClick")
$Button_drive_hinzufugen = GUICtrlCreateButton("Hinzufügen", 159, 192, 75, 21, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_drive_hinzufugenClick")
$List2 = GUICtrlCreateList("", 27, 224, 361, 97)
GUICtrlSetOnEvent(-1, "List2Click")
$Button_drive_suchen = GUICtrlCreateButton("Suchen", 426, 232, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_drive_suchenClick")
$Button_drive_loschen = GUICtrlCreateButton("Löschen", 426, 264, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_drive_loschenClick")
$Checkbox_drive_nachfragen = GUICtrlCreateCheckbox("Ohne Nachfragen Löschen?", 426, 304, 161, 17)
GUICtrlSetOnEvent(-1, "Checkbox_drive_nachfragenClick")
GUICtrlCreateLabel("Parameter Übergabe:", 32, 104, 105, 17)
GUICtrlSetOnEvent(-1, "Label23Click")
$Input_drvie_parameter = GUICtrlCreateInput("%1", 32, 128, 121, 21)
GUICtrlSetOnEvent(-1, "Input_drvie_parameterChange")
GUICtrlCreateLabel("Windows übergabeparameter für datein und verzeichnise lautet: %1", 176, 128, 322, 17)
GUICtrlSetOnEvent(-1, "Label25Click")
$ordner = GUICtrlCreateTabItem("Ordner Rechtsklickmenü")
$Input_ordner_pfad = GUICtrlCreateInput("", 40, 66, 473, 21)
GUICtrlSetOnEvent(-1, "Input_ordner_pfadChange")
$Input_ordner_name = GUICtrlCreateInput("", 32, 194, 121, 21)
GUICtrlSetOnEvent(-1, "Input_ordner_nameChange")
GUICtrlCreateLabel("Pfad zum Programm:", 40, 42, 101, 17)
GUICtrlSetOnEvent(-1, "Label29Click")
GUICtrlCreateLabel("Name des Eintrags:", 32, 170, 96, 17)
GUICtrlSetOnEvent(-1, "Label30Click")
$Button_ordner_programm = GUICtrlCreateButton("Suchen", 528, 66, 51, 21, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_ordner_programmClick")
$Button_ordner_hinzufugen = GUICtrlCreateButton("Hinzufügen", 168, 194, 75, 21, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_ordner_hinzufugenClick")
$List3 = GUICtrlCreateList("", 27, 226, 361, 97)
GUICtrlSetOnEvent(-1, "List3Click")
$Button_ordner_suchen = GUICtrlCreateButton("Suchen", 419, 234, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_ordner_suchenClick")
$Button_ordner_loschen = GUICtrlCreateButton("Löschen", 419, 266, 115, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_ordner_loschenClick")
$Checkbox_ordner_nachfragen = GUICtrlCreateCheckbox("Ohne Nachfragen Löschen?", 419, 306, 161, 17)
GUICtrlSetOnEvent(-1, "Checkbox_ordner_nachfragenClick")
GUICtrlCreateLabel("Parameter Übergabe:", 36, 104, 105, 17)
GUICtrlSetOnEvent(-1, "Label37Click")
$Input_ordner_parameter = GUICtrlCreateInput("%1", 36, 128, 121, 21)
GUICtrlSetOnEvent(-1, "Input_ordner_parameterChange")
GUICtrlCreateLabel("Windows übergabeparameter für datein und verzeichnise lautet: %1", 176, 128, 322, 17)
GUICtrlSetOnEvent(-1, "Label39Click")
$aus_ini_laden = GUICtrlCreateTabItem("Aus ini laden")
$Input_iniload = GUICtrlCreateInput("", 32, 56, 329, 21)
GUICtrlSetOnEvent(-1, "Input_iniloadChange")
$Button_iniload = GUICtrlCreateButton("Ini Laden", 376, 56, 75, 21, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_iniloadClick")
$Button_ini_start_load = GUICtrlCreateButton("Setze Werte Aus ini", 64, 120, 123, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_ini_start_loadClick")
$Button_ini_del_load = GUICtrlCreateButton("Werte wieder Löschen", 368, 120, 123, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "Button_ini_del_loadClick")
GUICtrlCreateTabItem("")
GUICtrlSetOnEvent(-1, "tabChange")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $dateiname
Button_drive_suchenClick()
Button_ordner_suchenClick()
Button_suchenClick()
GUICtrlSetData($Input_iniload, IniRead(@ScriptDir & "\Kontexmenu.ini", "Pfad_load_ini", "var", @ScriptDir & "\settings.ini"))
While 1
	Sleep(100)
WEnd
#Region löschen der reg einträge
Func Button_entfernenClick()
	If GUICtrlRead($Checkbox_nachfragen) = 4 Then
		$antwort = MsgBox(4, "System", "Wollen sie wirklich " & _GUICtrlListBox_GetText($List1, _GUICtrlListBox_GetCurSel($List1)) & " Löschen?")
		If $antwort = 6 Then
			$data = _GUICtrlListBox_GetText($List1, _GUICtrlListBox_GetCurSel($List1))
			RegDelete("HKEY_CLASSES_ROOT\Directory\Background\shell\" & $data)
			_GUICtrlListBox_DeleteString($List1, _GUICtrlListBox_FindString($List1, $data, True))
		EndIf
	Else
		$data = _GUICtrlListBox_GetText($List1, _GUICtrlListBox_GetCurSel($List1))
		RegDelete("HKEY_CLASSES_ROOT\Directory\Background\shell\" & $data)
		_GUICtrlListBox_DeleteString($List1, _GUICtrlListBox_FindString($List1, $data, True))
	EndIf
	Button_drive_suchenClick()
	Button_ordner_suchenClick()
	Button_suchenClick()
EndFunc   ;==>Button_entfernenClick
Func Button_drive_loschenClick()
	If GUICtrlRead($Checkbox_drive_nachfragen) = 4 Then
		$antwort = MsgBox(4, "System", "Wollen sie wirklich " & _GUICtrlListBox_GetText($List2, _GUICtrlListBox_GetCurSel($List2)) & " Löschen?")
		If $antwort = 6 Then
			$data = _GUICtrlListBox_GetText($List2, _GUICtrlListBox_GetCurSel($List2))
			RegDelete("HKEY_CLASSES_ROOT\Drive\shell\" & $data)
			_GUICtrlListBox_DeleteString($List2, _GUICtrlListBox_FindString($List2, $data, True))
		EndIf
	Else
		$data = _GUICtrlListBox_GetText($List2, _GUICtrlListBox_GetCurSel($List2))
		RegDelete("HKEY_CLASSES_ROOT\Drive\shell\" & $data)
		_GUICtrlListBox_DeleteString($List2, _GUICtrlListBox_FindString($List2, $data, True))
	EndIf
	Button_drive_suchenClick()
	Button_ordner_suchenClick()
	Button_suchenClick()
EndFunc   ;==>Button_drive_loschenClick
Func Button_ordner_loschenClick()
	If GUICtrlRead($Checkbox_ordner_nachfragen) = 4 Then
		$antwort = MsgBox(4, "System", "Wollen sie wirklich " & _GUICtrlListBox_GetText($List3, _GUICtrlListBox_GetCurSel($List3)) & " Löschen?")
		If $antwort = 6 Then
			$data = _GUICtrlListBox_GetText($List3, _GUICtrlListBox_GetCurSel($List3))
			RegDelete("HKEY_CLASSES_ROOT\Folder\shell\" & $data)
			_GUICtrlListBox_DeleteString($List3, _GUICtrlListBox_FindString($List3, $data, True))
		EndIf
	Else
		$data = _GUICtrlListBox_GetText($List3, _GUICtrlListBox_GetCurSel($List3))
		RegDelete("HKEY_CLASSES_ROOT\Folder\shell\" & $data)
		_GUICtrlListBox_DeleteString($List3, _GUICtrlListBox_FindString($List3, $data, True))
	EndIf
	Button_drive_suchenClick()
	Button_ordner_suchenClick()
	Button_suchenClick()
EndFunc   ;==>Button_ordner_loschenClick
#EndRegion löschen der reg einträge
#Region Hinzufügen der reg einträge
Func Button_hinzufugenClick()
	If GUICtrlRead($Input_name) <> "" And GUICtrlRead($Input_pfad) And FileExists(GUICtrlRead($Input_pfad)) Then
		RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\" & GUICtrlRead($Input_name), "Icon", "REG_SZ", GUICtrlRead($Input_pfad))
		RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\" & GUICtrlRead($Input_name) & "\Command", "", "REG_SZ", GUICtrlRead($Input_pfad))
		RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\" & GUICtrlRead($Input_name), "", "REG_SZ", GUICtrlRead($Input_name))
	Else
		MsgBox(0, "System", "Fehler nicht alle Felder sind ausgefüllt! Oder Programm existiert nicht!")
	EndIf
	Button_drive_suchenClick()
	Button_ordner_suchenClick()
	Button_suchenClick()
EndFunc   ;==>Button_hinzufugenClick
Func Button_drive_hinzufugenClick()
	If GUICtrlRead($Input_drive_name) <> "" And GUICtrlRead($input_drive_pfad) And FileExists(GUICtrlRead($input_drive_pfad)) Then
		RegWrite("HKEY_CLASSES_ROOT\Drive\shell\" & GUICtrlRead($Input_drive_name), "Icon", "REG_SZ", GUICtrlRead($input_drive_pfad))
		RegWrite("HKEY_CLASSES_ROOT\Drive\shell\" & GUICtrlRead($Input_drive_name) & "\Command", "", "REG_SZ", GUICtrlRead($input_drive_pfad))
		RegWrite("HKEY_CLASSES_ROOT\Drive\shell\" & GUICtrlRead($Input_drive_name), "", "REG_SZ", GUICtrlRead($Input_drive_name))
	Else
		MsgBox(0, "System", "Fehler nicht alle Felder sind ausgefüllt! Oder Programm existiert nicht!")
	EndIf
	Button_drive_suchenClick()
	Button_ordner_suchenClick()
	Button_suchenClick()
EndFunc   ;==>Button_drive_hinzufugenClick
Func Button_ordner_hinzufugenClick()
	If GUICtrlRead($Input_ordner_name) <> "" And GUICtrlRead($Input_ordner_pfad) And FileExists(GUICtrlRead($Input_ordner_pfad)) Then
		RegWrite("HKEY_CLASSES_ROOT\Folder\shell\" & GUICtrlRead($Input_ordner_name), "Icon", "REG_SZ", GUICtrlRead($Input_ordner_pfad))
		RegWrite("HKEY_CLASSES_ROOT\Folder\shell\" & GUICtrlRead($Input_ordner_name) & "\Command", "", "REG_SZ", GUICtrlRead($Input_ordner_pfad))
		RegWrite("HKEY_CLASSES_ROOT\Folder\shell\" & GUICtrlRead($Input_ordner_name), "", "REG_SZ", GUICtrlRead($Input_ordner_name))
	Else
		MsgBox(0, "System", "Fehler nicht alle Felder sind ausgefüllt! Oder Programm existiert nicht!")
	EndIf
	Button_drive_suchenClick()
	Button_ordner_suchenClick()
	Button_suchenClick()
EndFunc   ;==>Button_ordner_hinzufugenClick
#EndRegion Hinzufügen der reg einträge
#Region Suchen button
Func Button_pfadClick()
	$fileload = FileOpenDialog("Programm Auswählen", "", "Anwendungen (*.exe;*.bat)")
	If $fileload <> "" Then
		GUICtrlSetData($Input_pfad, $fileload)
		$filearray = StringSplit($fileload, "\")
		$number = UBound($filearray) - 1
		If $filearray[$number] <> "" Then GUICtrlSetData($Input_name, $filearray[$number])
		$dateiname = $filearray[$number]
	EndIf
EndFunc   ;==>Button_pfadClick
Func button_drive_programClick()
	$fileload = FileOpenDialog("Programm Auswählen", "", "Anwendungen (*.exe;*.bat)")
	If $fileload <> "" Then
		GUICtrlSetData($input_drive_pfad, $fileload)
		$filearray = StringSplit($fileload, "\")
		$number = UBound($filearray) - 1
		If $filearray[$number] <> "" Then GUICtrlSetData($Input_drive_name, $filearray[$number])
		$dateiname = $filearray[$number]
	EndIf
EndFunc   ;==>button_drive_programClick
Func Button_ordner_programmClick()
	$fileload = FileOpenDialog("Programm Auswählen", "", "Anwendungen (*.exe;*.bat)")
	If $fileload <> "" Then
		GUICtrlSetData($Input_ordner_pfad, $fileload)
		$filearray = StringSplit($fileload, "\")
		$number = UBound($filearray) - 1
		If $filearray[$number] <> "" Then GUICtrlSetData($Input_ordner_name, $filearray[$number])
		$dateiname = $filearray[$number]
	EndIf
EndFunc   ;==>Button_ordner_programmClick
#EndRegion Suchen button
#Region Suchen der einzelnen einträge (liste)
Func Button_suchenClick()
	_GUICtrlListBox_ResetContent($List1)
	$ar = _GetRegSubKeys("HKEY_CLASSES_ROOT\Directory\Background\shell")
	;_ArrayDisplay($ar)
	For $i = 0 To UBound($ar) - 1 Step +1
		If $ar[$i] <> "cmd" Then _GUICtrlListBox_InsertString($List1, $ar[$i])
	Next
EndFunc   ;==>Button_suchenClick
Func Button_drive_suchenClick()
	_GUICtrlListBox_ResetContent($List2)
	$ar = _GetRegSubKeys("HKEY_CLASSES_ROOT\Drive\shell")
	;_ArrayDisplay($ar)
	For $i = 0 To UBound($ar) - 1 Step +1
		If $ar[$i] <> "cmd" And $ar[$i] <> "encrypt-bde" And $ar[$i] <> "encrypt-bde-elev" And $ar[$i] <> "find" And $ar[$i] <> "manage-bde" And $ar[$i] <> "manage-bde-elev" And $ar[$i] <> "resume-bde" And $ar[$i] <> "resume-bde-elev" And $ar[$i] <> "unlock-bde" Then _GUICtrlListBox_InsertString($List2, $ar[$i])
	Next
EndFunc   ;==>Button_drive_suchenClick
Func Button_ordner_suchenClick()
	_GUICtrlListBox_ResetContent($List3)
	$ar = _GetRegSubKeys("HKEY_CLASSES_ROOT\Folder\shell")
	;_ArrayDisplay($ar)
	For $i = 0 To UBound($ar) - 1 Step +1
		If $ar[$i] <> "explore" And $ar[$i] <> "open" And $ar[$i] <> "opennewprocess" And $ar[$i] <> "opennewwindow" Then _GUICtrlListBox_InsertString($List3, $ar[$i])
	Next
EndFunc   ;==>Button_ordner_suchenClick
#EndRegion Suchen der einzelnen einträge (liste)
#Region Ini settings
Func Button_iniloadClick()
	$fileload = FileOpenDialog("Einstellungs Ini", "", "Konfig-Dat (*.ini)")
	If $fileload <> "" Then GUICtrlSetData($Input_iniload, $fileload)
EndFunc   ;==>Button_iniloadClick
Func Button_ini_start_loadClick()
	Local $lines
	Local $singelline
	$Pfad_for_ini = IniRead(@ScriptDir & "\Kontexmenu.ini", "Pfad_load_ini", "var", @ScriptDir & "\settings.ini")
	_FileReadToArray($Pfad_for_ini, $lines)
	For $i = 0 To $lines[0] Step +1
		$singelline = StringSplit($lines[$i], "<->", 1)
		If $singelline[0] == 5 Then
			If $singelline[1] == "Drive" Then
				RegWrite("HKEY_CLASSES_ROOT\Drive\shell\" & $singelline[2], "Icon", "REG_SZ", $singelline[4])
				RegWrite("HKEY_CLASSES_ROOT\Drive\shell\" & $singelline[2], "", "REG_SZ", $singelline[3])
				RegWrite("HKEY_CLASSES_ROOT\Drive\shell\" & $singelline[2] & "\Command", "", "REG_SZ", $singelline[5])
			EndIf
			If $singelline[1] == "Folder" Then
				RegWrite("HKEY_CLASSES_ROOT\Folder\shell\" & $singelline[2], "Icon", "REG_SZ", $singelline[4])
				RegWrite("HKEY_CLASSES_ROOT\Folder\shell\" & $singelline[2], "", "REG_SZ", $singelline[3])
				RegWrite("HKEY_CLASSES_ROOT\Folder\shell\" & $singelline[2] & "\Command", "", "REG_SZ", $singelline[5])
			EndIf
			If $singelline[1] == "Background" Then
				RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\" & $singelline[2], "Icon", "REG_SZ", $singelline[4])
				RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\" & $singelline[2], "", "REG_SZ", $singelline[3])
				RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\" & $singelline[2] & "\Command", "", "REG_SZ", $singelline[5])
			EndIf
		EndIf
	Next
	Button_drive_suchenClick()
	Button_ordner_suchenClick()
	Button_suchenClick()
EndFunc   ;==>Button_ini_start_loadClick
Func Button_ini_del_loadClick()
	Local $lines
	Local $singelline
	$Pfad_for_ini = IniRead(@ScriptDir & "\Kontexmenu.ini", "Pfad_load_ini", "var", @ScriptDir & "\settings.ini")
	_FileReadToArray($Pfad_for_ini, $lines)
	For $i = 0 To $lines[0] Step +1
		$singelline = StringSplit($lines[$i], "<->", 1)
		If $singelline[0] == 5 Then
			If $singelline[1] == "Drive" Then
				RegWrite("HKEY_CLASSES_ROOT\Drive\shell\" & $singelline[2])
			EndIf
			If $singelline[1] == "Folder" Then
				RegWrite("HKEY_CLASSES_ROOT\Folder\shell\" & $singelline[2])
			EndIf
			If $singelline[1] == "Background" Then
				RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\" & $singelline[2])
			EndIf
		EndIf
	Next
	Button_drive_suchenClick()
	Button_ordner_suchenClick()
	Button_suchenClick()
EndFunc   ;==>Button_ini_del_loadClick
#EndRegion Ini settings
Func KontexmenuClose()
	$file = FileOpen(GUICtrlRead($Input_iniload), 2)
	Button_drive_suchenClick()
	Button_ordner_suchenClick()
	Button_suchenClick()
	$anzahl = _GUICtrlListBox_GetCount($List1)
	For $i = 0 To $anzahl - 1
		$text = _GUICtrlListBox_GetText($List1, $i)
		$Temp_name = RegRead("HKEY_CLASSES_ROOT\Directory\Background\shell\" & $text, "")
		$Temp_Icon = RegRead("HKEY_CLASSES_ROOT\Directory\Background\shell\" & $text, "Icon")
		$Temp_programm = RegRead("HKEY_CLASSES_ROOT\Directory\Background\shell\" & $text & "\command", "")
		If $text == "" Then $text = "..."
		If $Temp_name == "" Then $Temp_name = "..."
		If $Temp_Icon == "" Then $Temp_name = "..."
		If $Temp_programm == "" Then $Temp_name = "..."
		FileWriteLine($file, "Background<->" & $text & "<->" & $Temp_name & "<->" & $Temp_Icon & "<->" & $Temp_programm)
	Next
	$anzahl = _GUICtrlListBox_GetCount($List2)
	For $i = 0 To $anzahl - 1
		$text = _GUICtrlListBox_GetText($List2, $i)
		$Temp_name = RegRead("HKEY_CLASSES_ROOT\Drive\shell\" & $text, "")
		$Temp_Icon = RegRead("HKEY_CLASSES_ROOT\Drive\shell\" & $text, "Icon")
		$Temp_programm = RegRead("HKEY_CLASSES_ROOT\Drive\shell\" & $text & "\command", "")
		If $text == "" Then $text = "..."
		If $Temp_name == "" Then $Temp_name = "..."
		If $Temp_Icon == "" Then $Temp_name = "..."
		If $Temp_programm == "" Then $Temp_name = "..."
		FileWriteLine($file, "Drive<->" & $text & "<->" & $Temp_name & "<->" & $Temp_Icon & "<->" & $Temp_programm)
	Next
	$anzahl = _GUICtrlListBox_GetCount($List3)
	For $i = 0 To $anzahl - 1
		$text = _GUICtrlListBox_GetText($List3, $i)
		$Temp_name = RegRead("HKEY_CLASSES_ROOT\Folder\shell\" & $text, "")
		$Temp_Icon = RegRead("HKEY_CLASSES_ROOT\Folder\shell\" & $text, "Icon")
		$Temp_programm = RegRead("HKEY_CLASSES_ROOT\Folder\shell\" & $text & "\command", "")
		If $text == "" Then $text = "..."
		If $Temp_name == "" Then $Temp_name = "..."
		If $Temp_Icon == "" Then $Temp_name = "..."
		If $Temp_programm == "" Then $Temp_name = "..."
		FileWriteLine($file, "Folder<->" & $text & "<->" & $Temp_name & "<->" & $Temp_Icon & "<->" & $Temp_programm)
	Next
	IniWrite(@ScriptDir & "\Kontexmenu.ini", "Pfad_load_ini", "var", GUICtrlRead($Input_iniload))
	FileClose($file)
	Exit
EndFunc   ;==>KontexmenuClose