kann man soetwas nicht in C# mit einer "maskedTextBox" realisieren, also das man nur Zahlen eingeben kann oder hab ich das Thema falsch verstanden?
Da man ja dann sagen kann ich will nur zahlen.
Beiträge von BuFF
-
-
so einwenig verbessert, das optionale recusiv lesen ist nun dabei
-
Gab/Gibt ja kein C# bereich
deswegen hab ich es in C++ reingepackt :p -
-
Hallo Leute ich weiß nicht ob ihr euch erinnert, aber ich hatte einst in AutoIt ein Programm geschrieben welches
Dateinamen und Pfadnamen einheitlich verändern kann (alles klein geschrieben ggf. alle ä,ö,ü,ß und & ersetzen)
nun habe ich dies auch in C# umgesetzt und möchte euch dieses vorstellen!Man kann auswählen ob man etwas verändern will (alles beibehalten, alles klein, alles groß)
Man kann wenn man will etwas ersetzen.Wenn ich mal wieder lust habe weiter zu machen habe ich vor eine art BackUp-system mittels einer datei, die alle Namen der einzelnen
Dateien beinhaltet und diese ausliest, sodass wenn man merkt "mist das wollte ich so nicht!" das man es rückgänig machen kann.Recusives einlesen eines Pfades noch nicht realisiert, wird aber noch kommen, habe gerade mal angefangen C# zu lernen :p
EDIT: Recusives einlesen nun möglichDennoch Warnung! Man kann Dateien unbrauchbar machen aus diesem Grund vorsichtig bei der Anwendung!
Quellcode bzw. das gesamte Projekt mit .exe ist im Anhang im "Debug"-Ordner.Vielleicht kann es ja jemand gebrauchen
-
-
Update 1 beitrag
-
Stimmt ich wollte eig ne Zip anhängen
-
Und hier sagt auch keiner was zu?
-
Keiner sagt etwas dazu?
-
Zitat
Das Script ist wirklich gut gelugen, ich wüsste keine Verbesserungsvorschläge - nur eine genaure Beschreibung, wie es zu benutzen ist, wäre nicht schlecht
Ich werde mich drüm kümmern
Schreiben also etwas beschreiben ist nicht so meine Stärke
wie man vielleicht auch bei meinen anderen Werken erkennen kann :p -
oh :o okay gut zu wissen!
aber nein ich persöhnlich will nichts mit viren zu tun haben, um ehrlich zu sein,
kann ich mich nicht al errinern mir überhaupt einen eingefangen zu haben da ich recht
sorgsam mit daten von anderen umgehe bzw nur vertrauenswürdigen personen daten akzeptiere.aber okay wenn das so ist dann denk ich ab jetzt immer dran
-
Kontexmenü_creator:
Es ist ein Toll welches einstellungen in der Registry vornimmt.
Und zwar die Rechtsklick menü werte.Man kann:
Im "Background" menü also rechtsklick auf einer freien stelle ein beliebiges Programm einstellen.im "Drive" menü kann man rechtsklick auf einem Laufwerk machen und eben falls ein Programm starten lassen,
und Parameter verwenden. Z.B. für ein Backup-Programm.im "Folder" menü kann man rechtsklick auf einem Ordnern machen und eben falls ein Programm starten lassen,
und Parameter verwenden. Z.B. für ein Programm wie "name_change" mit Parametern.>>>Neuerung.
Alles an Programmen wird in einer Ini gespeichert um so ggf. auch Portable zu nutzenPS: Macht was ihr wollt damit
Wenn es euch gefällt schreibt :p
HauptteilSpoiler anzeigen
[autoit]
[/autoit]
#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>
If IsArray($CmdLine) Then
If $CmdLine[0] > 0 Then
If $CmdLine[1] <> "" Then
If $CmdLine[0] = 1 Then
ShellExecute($CmdLine[1])
Exit
Else
ShellExecute($CmdLine[1], $CmdLine[2])
Exit
EndIf
Else
ConsoleWrite("Fehler Keine Datei angegeben")
Exit
EndIf
EndIf
EndIf
Global $g_szVersion = "Regchanger1_" & FileGetVersion(@ScriptName)
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
If FileExists(@WindowsDir & "\open.exe") Then
Local $nurso = True
Else
FileCopy(@ScriptDir & "\open.exe", @WindowsDir & "\open.exe")
EndIf
Opt("GUIOnEventMode", 1)
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1)
#Region ### START Koda GUI section ### Form=C:\Users\Ron\Documents\AutoIT3\Kontexmenu_creator\Kontexmenu.kxf
$Kontexmenu = GUICreate("Kontexmenü - Ersteller", 616, 354, 174, 222)
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")
TraySetClick("9")
$exitmenutray = TrayCreateItem("Beenden")
TrayItemSetOnEvent(-1, "exitmenutrayClick")
$offnenmenutray = TrayCreateItem("Öffnen")
TrayItemSetOnEvent(-1, "offnenmenutrayClick")
$hidemenutray = TrayCreateItem("Verstecken")
TrayItemSetOnEvent(-1, "hidemenutrayClick")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $dateiname, $all_exe = False, $ordner_exe = False, $drive_exe = False
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) & '"')
If $all_exe = False Then RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\" & GUICtrlRead($Input_name) & "\Command", "", "REG_SZ", "open.exe " & '"' & GUICtrlRead($Input_pfad) & '"')
RegWrite("HKEY_CLASSES_ROOT\Directory\Background\shell\" & GUICtrlRead($Input_name), "", "REG_SZ", GUICtrlRead($Input_name))
$all_exe = False
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) & '" ' & GUICtrlRead($Input_drvie_parameter))
If $drive_exe = False Then RegWrite("HKEY_CLASSES_ROOT\Drive\shell\" & GUICtrlRead($Input_drive_name) & "\Command", "", "REG_SZ", "open.exe " & '" ' & GUICtrlRead($input_drive_pfad) & '" ' & GUICtrlRead($Input_drvie_parameter))
RegWrite("HKEY_CLASSES_ROOT\Drive\shell\" & GUICtrlRead($Input_drive_name), "", "REG_SZ", GUICtrlRead($Input_drive_name))
$drive_exe = False
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) & '" ' & GUICtrlRead($Input_ordner_parameter))
If $ordner_exe = False Then RegWrite("HKEY_CLASSES_ROOT\Folder\shell\" & GUICtrlRead($Input_ordner_name) & "\Command", "", "REG_SZ", "open.exe " & '"' & GUICtrlRead($Input_ordner_pfad) & '" ' & GUICtrlRead($Input_ordner_parameter))
RegWrite("HKEY_CLASSES_ROOT\Folder\shell\" & GUICtrlRead($Input_ordner_name), "", "REG_SZ", GUICtrlRead($Input_ordner_name))
$ordner_exe = False
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", "", "Alle Dateien (*.*)")
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]
If StringInStr($filearray[$number], ".exe") >= 1 Then $all_exe = True
EndIf
EndFunc ;==>Button_pfadClick
Func button_drive_programClick()
$fileload = FileOpenDialog("Programm Auswählen", "", "Alle Dateien (*.*)")
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]
If StringInStr($filearray[$number], ".exe") >= 1 Then $drive_exe = True
EndIf
EndFunc ;==>button_drive_programClick
Func Button_ordner_programmClick()
$fileload = FileOpenDialog("Programm Auswählen", "", "Alle Dateien (*.*)")
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]
If StringInStr($filearray[$number], ".exe") >= 1 Then $ordner_exe = True
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)
GUISetState(@SW_HIDE)
EndFunc ;==>KontexmenuClose
Func exitmenutrayClick()
$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 ;==>exitmenutrayClick
Func offnenmenutrayClick()
GUISetState(@SW_SHOW)
EndFunc ;==>offnenmenutrayClick
Func hidemenutrayClick()
GUISetState(@SW_HIDE)
EndFunc ;==>hidemenutrayClickUDF von BugFix
Spoiler anzeigen
[autoit];========================================================================================
[/autoit] [autoit][/autoit] [autoit]
; Function Name: _GetRegSubKeys($HKEY)
; Description: Ermittelt die Unterschlüssel für den übergebenen Schlüssel
; Parameter(s): $HKEY der Registryschlüssel
; Return Value(s): Erfolg Array mit den Unterschlüsseln
; Fehler Leerstring (keine Unterschlüssel vorhanden oder Schlüssel existiert nicht)
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;========================================================================================
Func _GetRegSubKeys($HKEY)
If StringInStr($HKEY, '\') Then
If StringRight($HKEY, 1) = '\' Then
$HKEY = StringTrimRight($HKEY, 1)
Local $strKeyPath = ''
Else
Local $strKeyPath = StringRight($HKEY, StringLen($HKEY)-StringInStr($HKEY, '\') )
$HKEY = StringLeft($HKEY, StringInStr($HKEY, '\')-1)
EndIf
Else
Local $strKeyPath = ''
EndIf
Select
Case $HKEY = "HKEY_LOCAL_MACHINE" Or $HKEY = "HKLM"
$HKEY = 0x80000002
Case $HKEY = "HKEY_USERS" Or $HKEY = "HKU"
$HKEY = 0x80000003
Case $HKEY = "HKEY_CURRENT_USER" Or $HKEY = "HKCU"
$HKEY = 0x80000001
Case $HKEY = "HKEY_CLASSES_ROOT" Or $HKEY = "HKCR"
$HKEY = 0x80000000
Case $HKEY = "HKEY_CURRENT_CONFIG" Or $HKEY = "HKCC"
$HKEY = 0x80000005
EndSelect
Local $arrSubKeys = '', $subkey
Local $oReg = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
$oReg.EnumKey ($HKEY, $strKeyPath, $arrSubKeys)
Return $arrSubKeys
EndFunc ;==>_GetRegSubKeys;========================================================================================
[/autoit] [autoit][/autoit] [autoit]
; Function Name: _GetRegRights($HKEY)
; Description: Ermittelt die Rechte des Abfragenden für den übergebenen Schlüssel
; Parameter(s): $HKEY der zu prüfende Registryschlüssel
; Return Value(s): String mit Auflistung der Rechte:
; Q Key Query Value
; S Key Set Value
; C Key Create Sub Key
; D Delete
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;========================================================================================
Func _GetRegRights($HKEY)
Local $bHasAccessRight, $sRights = ''
If StringInStr($HKEY, '\') Then
If StringRight($HKEY, 1) = '\' Then
$HKEY = StringTrimRight($HKEY, 1)
Local $strKeyPath = ''
Else
Local $strKeyPath = StringRight($HKEY, StringLen($HKEY)-StringInStr($HKEY, '\') )
$HKEY = StringLeft($HKEY, StringInStr($HKEY, '\')-1)
EndIf
Else
Local $strKeyPath = ''
EndIf
Select
Case $HKEY = "HKEY_LOCAL_MACHINE" Or $HKEY = "HKLM"
$HKEY = 0x80000002
Case $HKEY = "HKEY_USERS" Or $HKEY = "HKU"
$HKEY = 0x80000003
Case $HKEY = "HKEY_CURRENT_USER" Or $HKEY = "HKCU"
$HKEY = 0x80000001
Case $HKEY = "HKEY_CLASSES_ROOT" Or $HKEY = "HKCR"
$HKEY = 0x80000000
Case $HKEY = "HKEY_CURRENT_CONFIG" Or $HKEY = "HKCC"
$HKEY = 0x80000005
EndSelect
Local $oReg = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
$oReg.CheckAccess($HKEY, $strKeyPath, 0x0001, $bHasAccessRight)
If $bHasAccessRight = True Then $sRights &= 'Q'
$oReg.CheckAccess($HKEY, $strKeyPath, 0x0002, $bHasAccessRight)
If $bHasAccessRight = True Then $sRights &= 'S'
$oReg.CheckAccess($HKEY, $strKeyPath, 0x0004, $bHasAccessRight)
If $bHasAccessRight = True Then $sRights &= 'C'
$oReg.CheckAccess($HKEY, $strKeyPath, 0x00010000, $bHasAccessRight)
If $bHasAccessRight = True Then $sRights &= 'D'
Return $sRights
EndFunc ;==>_GetRegRights;========================================================================================
[/autoit]
; Function Name: _GetRegValues($HKEY)
; Description: Ermittelt alle Namen, Typen und Werte in einem gegebenen Schlüssel
; Parameter(s): $HKEY der Registryschlüssel
; Return Value(s): Erfolg Array[i][0] = Name
; Array[i][1] = Typ
; Array[i][2] = Wert
; Fehler Leerstring (Schlüssel existiert nicht oder ist ohne Einträge)
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;========================================================================================
Func _GetRegValues($HKEY)
Local $oMyError = ObjEvent("AutoIt.Error","MyErrFunc")
If StringInStr($HKEY, '\') Then
If StringRight($HKEY, 1) = '\' Then
$HKEY = StringTrimRight($HKEY, 1)
Local $strKeyPath = ''
Else
Local $strKeyPath = StringRight($HKEY, StringLen($HKEY)-StringInStr($HKEY, '\') )
$HKEY = StringLeft($HKEY, StringInStr($HKEY, '\')-1)
EndIf
Else
Local $strKeyPath = ''
EndIf
Select
Case $HKEY = "HKEY_LOCAL_MACHINE" Or $HKEY = "HKLM"
$HKEY = 0x80000002
Case $HKEY = "HKEY_USERS" Or $HKEY = "HKU"
$HKEY = 0x80000003
Case $HKEY = "HKEY_CURRENT_USER" Or $HKEY = "HKCU"
$HKEY = 0x80000001
Case $HKEY = "HKEY_CLASSES_ROOT" Or $HKEY = "HKCR"
$HKEY = 0x80000000
Case $HKEY = "HKEY_CURRENT_CONFIG" Or $HKEY = "HKCC"
$HKEY = 0x80000005
EndSelect
Local $oReg = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
Local $arrValueNames, $arrValueTypes, $strValue
$oReg.EnumValues($HKEY, $strKeyPath, $arrValueNames, $arrValueTypes)
$OEvent = ObjEvent($oReg, "EnumValues")
If Not IsArray($arrValueNames) Then Return ''
Local $arOut[UBound($arrValueNames)][3]
For $i = 0 To UBound($arrValueNames) -1
$arOut[$i][0] = $arrValueNames[$i]
Switch $arrValueTypes[$i]
Case 1
$arOut[$i][1] = 'REG_SZ'
$oReg.GetStringValue($HKEY, $strKeyPath, $arrValueNames[$i], $strValue)
Case 2
$arOut[$i][1] = 'REG_EXPAND_SZ'
$oReg.GetExpandedStringValue($HKEY, $strKeyPath, $arrValueNames[$i], $strValue)
Case 3
$arOut[$i][1] = 'REG_BINARY'
$oReg.GetBinaryValue($HKEY, $strKeyPath, $arrValueNames[$i], $strValue)
Case 4
$arOut[$i][1] = 'REG_DWORD'
$oReg.GetStringValue($HKEY, $strKeyPath, $arrValueNames[$i], $strValue)
Case 7
$arOut[$i][1] = 'REG_MULTI_SZ'
$oReg.GetMultiStringValue($HKEY, $strKeyPath, $arrValueNames[$i], $strValue)
EndSwitch
$arOut[$i][2] = $strValue
Next
Return $arOut
EndFunc ;==>_GetRegValues
Func MyErrFunc()
Return
Endfunc -
ich hatte das script doch in der zip oder nicht?
-
Meinst du so?
-
name_change:
Ist ein Commandline tool, welches dazu verwendet wird ganze Ordner verzeichnise und deren Inhalt namentlich zu verändern: also aus z.b.: HAllo Welt.cpp wird dann hallo_welt.cppIch habe das Programm auf Wunsch von einem Klassenkammeraden geschrieben, da er seine Externe Festplatte dem Syntax Muster anpassen wollte und nicht alles manuell machen wollte.
Syntax:
-p Pfad -> Setzt den zu bearbeitenden Pfad
-s "zu suchendes zeichen" -> Sucht im in Dateinamen ausgesuchtes Zeichen (ggf. teile [nicht getestet])
-r "zu ersetzenden zeichen" -> Ersetzt das "zu suchende Zeichen" durch das "zu ersetzende zeichen" Im DATEINAMEN-ps "zu suchendes zeichen" -> Sucht im in PFAD ausgesuchtes Zeichen (ggf. teile [nicht getestet])
-pr "zu ersetzenden zeichen" -> Ersetzt das "zu suchende Zeichen" durch das "zu ersetzende zeichen" Im PFAD-aou -> ersetzt umlaute in datei und verzeichnisnamen
-h oder -help -> Gibt die hilfe aus (leicht doof geschrieben)
-r replace 'zeichen' z.B. '_'
-s search 'zeichen' z.B. ' '
-pr pfadreplace 'zeichen' z.B. '.'
-ps pfadsearch 'zeichen' z.B. ' '
-p pfad 'pfad' z.B. 'C:\beispiel'
-recu Recusiv einlesen
-aou ersetzt Umlaute durch ae,oe,ue,ss,undname_change.exe-p 'C:\beispiel' -pr '.' -ps ' ' -r '_' -s ' '
Bedeutet Sie ersetzen im Pfad alle Leerzeichen durch . (Punkt)
Und Sie ersetzen im Dateinamen alle Leerzeichen durch _ (Unterstrich)als Default für -s und -ps sind " " (leerzeichen)
als Default für -r und -pr sind "_" (unterstriche)
gesetzt.Die Reihenfolge der Parameter ist egal! Sprich es geht sowohl:
programm.exe -p "X:\abc\123" -s "_" -r " "
also auch:
programm.exe -s "_" -r " " -p "X:\abc\123"NUR wenn -h bzw -help verwendet wird, werden alle anderen Parameter Ignoriert!
Spoiler anzeigen
[autoit]#include <_RecursiveFileListToArray.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <string.au3>
#include <array.au3>
#include <file.au3>#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
;Opt("MustDeclareVars", 1)
Global $charrep, $charsec, $cmdpfad, $charsecpf, $charreppf, $aeouue = False, $recu = FalseIf $CmdLine[0] <= 0 Then _errot()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;MsgBox("","",UBound($CmdLine))
For $e = UBound($CmdLine) - 1 To 1 Step -1
If $CmdLine[$e] == "-h" Or $CmdLine[$e] == "-help" Then
ConsoleWrite(@CRLF & "Benutzen sie folgende Syntax:")
ConsoleWrite(@CRLF & @ScriptName & "-p 'C:\beispiel' -r '_'")
ConsoleWrite(@CRLF & @CRLF & "-rreplace 'zeichen' z.B. '_'")
ConsoleWrite(@CRLF & "-ssearch 'zeichen' z.B. ' '")
ConsoleWrite(@CRLF & "-prpfadreplace 'zeichen' z.B. '.'")
ConsoleWrite(@CRLF & "-pspfadsearch 'zeichen' z.B. ' '")
ConsoleWrite(@CRLF & "-ppfad 'pfad' z.B. 'C:\beispiel'")
ConsoleWrite(@CRLF & "-recuRecusiv einlesen")
ConsoleWrite(@CRLF & "-aouersetzt Umlaute durch ae,oe,ue,ss,und")
ConsoleWrite(@CRLF & @CRLF & @ScriptName & "-p 'C:\beispiel' -pr '.' -ps ' ' -r '_' -s ' '")
ConsoleWrite(@CRLF & "Bedeutet Sie ersetzen im Pfad alle Leerzeichen durch . (Punkt)")
ConsoleWrite(@CRLF & "Und Sie ersetzen im Dateinamen alle Leerzeichen durch _ (Unterstrich)")
ConsoleWrite(@CRLF & @CRLF)
Exit
Exit
EndIf
NextFor $e = UBound($CmdLine) - 1 To 1 Step -1
[/autoit] [autoit][/autoit] [autoit]
If $CmdLine[$e] == "-r" Then
If $CmdLine[$e + 1] <> "-s" And $CmdLine[$e + 1] <> "-p" And $CmdLine[$e + 1] <> "-pr" And $CmdLine[$e + 1] <> "-ps" And $CmdLine[$e + 1] <> "-aou" And $CmdLine[$e + 1] <> "-recu" Then $charrep = $CmdLine[$e + 1]
EndIf
If $CmdLine[$e] == "-s" Then
If $CmdLine[$e + 1] <> "-r" And $CmdLine[$e + 1] <> "-p" And $CmdLine[$e + 1] <> "-pr" And $CmdLine[$e + 1] <> "-ps" And $CmdLine[$e + 1] <> "-aou" And $CmdLine[$e + 1] <> "-recu" Then $charsec = $CmdLine[$e + 1]
EndIf
If $CmdLine[$e] == "-p" Then
If $CmdLine[$e + 1] <> "-s" And $CmdLine[$e + 1] <> "-r" And $CmdLine[$e + 1] <> "-pr" And $CmdLine[$e + 1] <> "-ps" And $CmdLine[$e + 1] <> "-aou" And $CmdLine[$e + 1] <> "-recu" Then $cmdpfad = $CmdLine[$e + 1]
EndIf
If $CmdLine[$e] == "-pr" Then
If $CmdLine[$e + 1] <> "-s" And $CmdLine[$e + 1] <> "-r" And $CmdLine[$e + 1] <> "-p" And $CmdLine[$e + 1] <> "-ps" And $CmdLine[$e + 1] <> "-aou" And $CmdLine[$e + 1] <> "-recu" Then $charreppf = $CmdLine[$e + 1]
EndIf
If $CmdLine[$e] == "-ps" Then
If $CmdLine[$e + 1] <> "-s" And $CmdLine[$e + 1] <> "-r" And $CmdLine[$e + 1] <> "-pr" And $CmdLine[$e + 1] <> "-p" And $CmdLine[$e + 1] <> "-aou" And $CmdLine[$e + 1] <> "-recu" Then $charsecpf = $CmdLine[$e + 1]
EndIf
If $CmdLine[$e] == "-recu" Then
If $CmdLine[$e + 1] <> "-s" And $CmdLine[$e + 1] <> "-p" And $CmdLine[$e + 1] <> "-pr" And $CmdLine[$e + 1] <> "-ps" And $CmdLine[$e + 1] <> "-aou" And $CmdLine[$e + 1] <> "-r" Then
If $CmdLine[$e + 1] == 1 Or $CmdLine[$e + 1] = "true" Then $recu = 1
If $CmdLine[$e + 1] == 0 Or $CmdLine[$e + 1] = "false" Then $recu = 0
EndIf
EndIf
If $CmdLine[$e] == "-aou" Then
If $CmdLine[$e + 1] <> "-s" And $CmdLine[$e + 1] <> "-r" And $CmdLine[$e + 1] <> "-pr" And $CmdLine[$e + 1] <> "-p" And $CmdLine[$e + 1] <> "-ps" And $CmdLine[$e + 1] <> "-recu" Then
If $CmdLine[$e + 1] == 1 Or $CmdLine[$e + 1] = "true" Then $aeouue = True
If $CmdLine[$e + 1] == 0 Or $CmdLine[$e + 1] = "false" Then $aeouue = False
EndIf
EndIf
;And $CmdLine[$e + 1] <> "-recu"
;msgbox("","",$CmdLine[$e] & @LF & $cmdpfad & @LF & $charsec & @LF & $charrep)And $CmdLine[$e + 1] <> "-aou"Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
If $charrep == "" Then $charrep = "_"
If $charsec == "" Then $charsec = " "
If $charreppf == "" Then $charreppf = "_"
If $charsecpf == "" Then $charsecpf = " "
If $cmdpfad == "" Then ConsoleWrite(@CRLF & @CRLF & "Es wurde kein Pfad angegeben! Tippen sie " & @ScriptName & " -h oder -help ein um Hilfe zu bekommen")If $cmdpfad <> "" And FileExists($cmdpfad) Then
[/autoit] [autoit][/autoit] [autoit];ConsoleWrite("Benenne "& $arvz[$e] & $arda[$i] & " >> " & $arvz[$e] & StringUpper($arda[$i]))
[/autoit] [autoit][/autoit] [autoit]Global $ardae, $movedatei, $ardateiendungkurzel = "", $ardateiendung, $movecangename, $movepfad, $movepfadname, $movepfadcangename, $movevorpfad, $aktuellerOrdner, $moveOrdnernamechange, $no_other_pfad
[/autoit] [autoit][/autoit] [autoit]
Global $arvz = _RecursiveFileListToArray($cmdpfad, 2, 1, $recu)
Global $arda = _RecursiveFileListToArray($cmdpfad, 1, 1, $recu)Global $File = FileOpen("C:\Name_Change.log", 9)
[/autoit] [autoit][/autoit] [autoit]
;_ArrayDisplay($arvz)
;for $e = 1 to UBound($arvz)-1 step + 1
For $i = 1 To UBound($arda) - 1 Step +1$ardae = StringSplit($arda[$i], "\")
[/autoit] [autoit][/autoit] [autoit]
$movedatei = $ardae[UBound($ardae) - 1]
$ardateiendung = StringSplit($movedatei, ".", 2)
If UBound($ardateiendung) > 1 Then
$ardateiendungkurzel = "." & $ardateiendung[UBound($ardateiendung) - 1]
$movedatei = StringReplace($movedatei, $ardateiendungkurzel, "")
EndIf;MsgBox("","",UBound($ardateiendung) & @LF & $ardateiendungkurzel& @LF & $movedatei)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$movecangename = StringLower($movedatei)
;MsgBox("","",$movecangename & @LF & StringRegExpReplace($movecangename,$charsec,$charrep) & @lf & StringReplace($movecangename,$charsec,$charrep))
;$movecangename = StringRegExpReplace($movecangename,$charsec,$charrep)
$movecangename = StringReplace($movecangename, $charsec, $charrep)
If $aeouue = True Then
$movecangename = StringReplace($movecangename, "ü", "ue")
$movecangename = StringReplace($movecangename, "ö", "oe")
$movecangename = StringReplace($movecangename, "ä", "ae")
$movecangename = StringReplace($movecangename, "ß", "ss")
$movecangename = StringReplace($movecangename, "&", "und")
EndIf$movepfad = StringReplace($arda[$i], $ardae[UBound($ardae) - 1], "")
[/autoit] [autoit][/autoit] [autoit];MsgBox("","",$movepfad & $movedatei & @lf & $movepfad & $movecangename)
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(@CRLF & @CRLF & "Benenne " & @CRLF & $movepfad & $movedatei & $ardateiendungkurzel & @CRLF & " >> Zu >> " & @CRLF & $movepfad & $movecangename & $ardateiendungkurzel)
FileWrite($File, @CRLF & @CRLF & "Benenne " & @CRLF & $movepfad & $movedatei & $ardateiendungkurzel & @CRLF & " >> Zu >> " & @CRLF & $movepfad & $movecangename & $ardateiendungkurzel)
FileMove($movepfad & $movedatei & $ardateiendungkurzel, $movepfad & $movecangename & $ardateiendungkurzel, 1)
;DirMove($movevorpfad & $movepfadname, $movevorpfad & $movepfadcangename,1);Next
[/autoit] [autoit][/autoit] [autoit]
Next
If $recu = 0 Then
$no_other_pfad = True
Else
$no_other_pfad = False
EndIfIf $no_other_pfad = False Then
[/autoit] [autoit][/autoit] [autoit]
If $recu == 1 Then
For $i = UBound($arvz) - 1 To 1 Step -1$ardae = StringSplit($arvz[$i], "\")
[/autoit] [autoit][/autoit] [autoit]
;_ArrayDisplay($ardae)
$aktuellerOrdner = $ardae[UBound($ardae) - 2]
$moveOrdnernamechange = StringLower($aktuellerOrdner)
;$moveOrdnernamechange = StringRegExpReplace($moveOrdnernamechange, $charsecpf, $charreppf)
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, $charsecpf, $charreppf)
;$moveOrdnernamechange = StringRegExpReplace($moveOrdnernamechange,"ü","ue")
If $aeouue = True Then
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ü", "ue")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ö", "oe")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ä", "ae")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ß", "ss")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "&", "und")
EndIf
;$movepfad = StringRegExpReplace($arvz[$i],$aktuellerOrdner & "\","",2)
$movepfad = StringReplace($arvz[$i], $aktuellerOrdner & "\", "");MsgBox("","",$movepfad & $aktuellerOrdner &@lf& $movepfad & $moveOrdnernamechange)
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(@CRLF & @CRLF & "Benenne " & @CRLF & $movepfad & $aktuellerOrdner & @CRLF & " >> Zu >> " & @CRLF & $movepfad & $moveOrdnernamechange)
FileWrite($File, @CRLF & @CRLF & "Benenne " & @CRLF & $movepfad & $aktuellerOrdner & @CRLF & " >> Zu >> " & @CRLF & $movepfad & $moveOrdnernamechange)DirMove($movepfad & $aktuellerOrdner, $movepfad & $moveOrdnernamechange, 1)
[/autoit] [autoit][/autoit] [autoit]Next
[/autoit] [autoit][/autoit] [autoit]
EndIf
$ardae = StringSplit($arvz[1], "\")
;_ArrayDisplay($ardae)
$aktuellerOrdner = $ardae[UBound($ardae) - 3]
;MsgBox("","",$aktuellerOrdner)
$moveOrdnernamechange = StringLower($aktuellerOrdner)
;$moveOrdnernamechange = StringRegExpReplace($moveOrdnernamechange, $charsecpf, $charreppf)
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, $charsecpf, $charreppf)
If $aeouue = True Then
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ü", "ue")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ö", "oe")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ä", "ae")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ß", "ss")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "&", "und")
EndIf
;$moveOrdnernamechange = StringRegExpReplace($moveOrdnernamechange,"ü","ue")
;$movepfad = StringRegExpReplace($arvz[$i],$aktuellerOrdner & "\","",2)
$movepfad = StringReplace($arvz[1], $aktuellerOrdner & "\" & $ardae[UBound($ardae) - 2] & "\", "")
;MsgBox("","",$movepfad );MsgBox("","",$movepfad & $aktuellerOrdner &@lf& $movepfad & $moveOrdnernamechange)
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(@CRLF & @CRLF & "Benenne " & @CRLF & $movepfad & $aktuellerOrdner & @CRLF & " >> Zu >> " & @CRLF & $movepfad & $moveOrdnernamechange & @CRLF & @CRLF & "Vielen Dank, dass Sie das Programm Benutzen!" & @CRLF & "Und an ELiTE durch dessen Wunsch dies Programm" & @CRLF & "entstanden ist" & @CRLF & @CRLF & "BuFF" & @CRLF & @CRLF)
FileWrite($File, @CRLF & @CRLF & "Benenne " & @CRLF & $movepfad & $aktuellerOrdner & @CRLF & " >> Zu >> " & @CRLF & $movepfad & $moveOrdnernamechange & @CRLF & @CRLF & "Vielen Dank, dass Sie das Programm Benutzen!" & @CRLF & "Und an ELiTE durch dessen Wunsch dies Programm" & @CRLF & "entstanden ist" & @CRLF & @CRLF & "BuFF" & @CRLF & @CRLF)DirMove($movepfad & $aktuellerOrdner, $movepfad & $moveOrdnernamechange, 1)
[/autoit] [autoit][/autoit] [autoit]
FileClose($File)Exit
[/autoit] [autoit][/autoit] [autoit]
Else
$ardae = StringSplit($cmdpfad, "\")
;msgbox("","",$cmdpfad)
$aktuellerOrdner = $ardae[UBound($ardae) - 1];MsgBox("","",$aktuellerOrdner)
[/autoit] [autoit][/autoit] [autoit]
$moveOrdnernamechange = StringLower($aktuellerOrdner)
;$moveOrdnernamechange = StringRegExpReplace($moveOrdnernamechange, $charsecpf, $charreppf)
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, $charsecpf, $charreppf)
If $aeouue = True Then
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ü", "ue")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ö", "oe")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ä", "ae")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "ß", "ss")
$moveOrdnernamechange = StringReplace($moveOrdnernamechange, "&", "und")
EndIf
;$moveOrdnernamechange = StringRegExpReplace($moveOrdnernamechange,"ü","ue")
;MsgBox("","",$moveOrdnernamechange)
;$movepfad = StringRegExpReplace($arvz[$i],$aktuellerOrdner & "\","",2)
$movepfad = StringReplace($cmdpfad, $aktuellerOrdner, "")DirMove($movepfad & $aktuellerOrdner, $movepfad & $moveOrdnernamechange, 1)
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite(@CRLF & @CRLF & "Benenne " & @CRLF & $movepfad & $aktuellerOrdner & @CRLF & " >> Zu >> " & @CRLF & $movepfad & $moveOrdnernamechange & @CRLF & @CRLF & "Vielen Dank, dass Sie das Programm Benutzen!" & @CRLF & "Und an ELiTE durch dessen Wunsch dies Programm" & @CRLF & "entstanden ist" & @CRLF & @CRLF & "BuFF" & @CRLF & @CRLF)
FileWrite($File, @CRLF & @CRLF & "Benenne " & @CRLF & $movepfad & $aktuellerOrdner & @CRLF & " >> Zu >> " & @CRLF & $movepfad & $moveOrdnernamechange & @CRLF & @CRLF & "Vielen Dank, dass Sie das Programm Benutzen!" & @CRLF & "Und an ELiTE durch dessen Wunsch dies Programm" & @CRLF & "entstanden ist" & @CRLF & @CRLF & "BuFF" & @CRLF & @CRLF);MsgBox("","",$movepfad & $aktuellerOrdner &@lf& $movepfad & $moveOrdnernamechange)
[/autoit] [autoit][/autoit] [autoit]
FileClose($File)
Exit
EndIf
Else
ConsoleWrite(@CRLF & @CRLF & "Pfad existiert nicht (mehr)!" & @CRLF & @CRLF)
ConsoleWrite(@CRLF & @CRLF & "Syntax: Programmname Pfad" & @CRLF & @CRLF & "Z.B. C:\" & @ScriptName & " -p C:\User\xyz\Bilder " & @CRLF & @CRLF & "Geben sie C:\" & @ScriptName & " -h ein um Hilfe zu erhalten")
Exit
EndIfFunc _errot()
[/autoit]
ConsoleWrite(@CRLF & @CRLF & "Fehler Zu wenig Parameter!" & @CRLF & @CRLF)
ConsoleWrite(@CRLF & @CRLF & "Syntax: Programmname Pfad" & @CRLF & @CRLF & "Z.B. C:\" & @ScriptName & " -p C:\User\xyz\Bilder " & @CRLF & @CRLF & "Geben sie C:\" & @ScriptName & " -h ein um Hilfe zu erhalten")
Exit
EndFunc ;==>_errot -
Mastermind mit zahlen...
Rate spiel?! auch irgendwann sinnlos geschrieben...
sinn ist eine bestimmte zahlen kombi herauszufinden
tipps und versuche sollte man vielleicht noch mal überarbeiten also die rechnungEDIT:
Script liegt in der ZIP -
Ich möchte auf meine C# version verweisen da diese schneller ist.
DisallowRun in C#Keine Ahnung ob jemand das brauch oder nicht, war nur irgendwann mal so eine Idee.
wer will kann es ja weiter entwickeln und besser machen was ich sinnlos gemacht habe :pEDIT:
Ich sollte vielleicht noch sagen was es macht :p
das ist einfach nur ein programm welches über die registry die Disallowrun einstellungen grafisch vornehmen kann. also sprich ach keine ahnung seht es euch anSpoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#Region include
Opt("TrayMenuMode", 1)
#include <array.au3>
#include <String.au3>
#include <RegFunc.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <_GetSID.au3>
#include <Misc.au3>
#EndRegion include#Region Globale variablen
[/autoit] [autoit][/autoit] [autoit]
Global $SID = _GetSID(), $Form1
Global $ar[100][3]
Global $ae[100][3]
Local $i, $anzahl = 0
Global $newar, $IncomingData[100][3], $OutData[100][3]
Global $Regsetting_block = "HKEY_USERS\" & $SID & "\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun"
Global $Regsetting_example = "HKEY_USERS\" & $SID & "\Software\Ron_Welzel\DisallowRun\Werte_example"
Global $data
Global $notblockliste[100]
Global $restart = False
Global $timenowjetzt
Global $lizwert = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Notepad\DefaultFonts", "lizablauf")
#EndRegion Globale variablen#Region ### START Koda GUI section ### Form=C:\Users\Ron\Documents\AutoIT3\Disallowrun\Form1.kxf
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate(@ScriptName & " by Ron Welzel", 617, 463, 192, 124)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore")
$lock_list = GUICtrlCreateList("", 392, 40, 209, 370)
GUICtrlSetData(-1, "")
GUICtrlSetOnEvent(-1, "lock_listClick")
$example_list = GUICtrlCreateList("", 16, 40, 209, 370)
GUICtrlSetData(-1, "")
GUICtrlSetOnEvent(-1, "example_listClick")
$hinzufugen_button = GUICtrlCreateButton("Hinzufügen >>", 240, 40, 139, 25)
GUICtrlSetOnEvent(-1, "hinzufugen_buttonClick")
$entfernen_butten = GUICtrlCreateButton("<< Entfernen", 240, 72, 139, 25)
GUICtrlSetOnEvent(-1, "entfernen_buttenClick")
$Group1 = GUICtrlCreateGroup("Neue Programme", 232, 104, 153, 169)
$newprog_input = GUICtrlCreateInput("", 248, 136, 97, 21)
GUICtrlSetOnEvent(-1, "newprog_inputChange")
$newprog_button = GUICtrlCreateButton("Einfügen", 248, 168, 123, 25)
GUICtrlSetOnEvent(-1, "newprog_buttonClick")
$locklist_radio = GUICtrlCreateRadio("Blocklist", 240, 224, 113, 17)
GUICtrlSetOnEvent(-1, "locklist_radioClick")
$examplelist_radio = GUICtrlCreateRadio("Programmliste", 240, 248, 113, 17)
GUICtrlSetOnEvent(-1, "examplelist_radioClick")
GUICtrlCreateLabel("Programme hinzufügen zur:", 240, 200, 132, 17)
GUICtrlSetOnEvent(-1, "Label9Click")
$fileselct = GUICtrlCreateButton("...", 352, 136, 27, 21)
GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
GUICtrlSetOnEvent(-1, "fileselctClick")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateLabel("Programmliste", 48, 8, 124, 28)
GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetOnEvent(-1, "Label10Click")
GUICtrlCreateLabel("Blockliste", 448, 8, 114, 28)
GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x000000)
GUICtrlSetOnEvent(-1, "Label11Click")
GUICtrlCreateLabel("Autor: Ron Welzel", 232, 328, 92, 17)
GUICtrlSetOnEvent(-1, "Label12Click")
GUICtrlCreateLabel("Version:", 232, 344, 42, 17)
GUICtrlSetOnEvent(-1, "Label13Click")
$version_label = GUICtrlCreateLabel(FileGetVersion(@ScriptFullPath), 272, 344, 37, 17)
GUICtrlSetOnEvent(-1, "version_labelClick")
$anwenden_button = GUICtrlCreateButton("Anwenden", 424, 424, 131, 25)
GUICtrlSetOnEvent(-1, "anwenden_buttonClick")
$loschen = GUICtrlCreateButton("<< Markierten Eintrag Löschen", 232, 288, 155, 25)
GUICtrlSetOnEvent(-1, "loschenClick")
GUISetState(@SW_HIDE, $Form1)
GUICtrlSetState($examplelist_radio, $GUI_CHECKED)
#EndRegion ### END Koda GUI section ####Region debug meldungen
[/autoit] [autoit][/autoit] [autoit]
;//////////////////////
;debug region msgbox debugmeldungen
;false = off , true = on (0 = off,1 = on)
Global $debug = False
;//////////////////////
;Zum debuggen verwenden sie:
; if $debug = 1 then msgbox(0,"Debug","")
;
If $debug = 1 Then MsgBox(0, "Debug", "Debuggen ist Aktiviert")
;////////////////////////////////////////
#EndRegion debug meldungen#Region notlock
[/autoit] [autoit][/autoit] [autoit]
;Hier kommt die liste der nicht zu blockenden programme hin wobei der index maximal bis 99 gehen darf!
$notblockliste[0] = "explorer.exe"
$notblockliste[1] = @ScriptName
;/////////////////////////////////////////////////////////////
;//////////////Wertsetzfunktion der blockenden programme//////
;/////////////////////////////////////////////////////////////
Local $blockcount = 0
For $i = 0 To UBound($notblockliste) - 1
If $notblockliste[$i] <> "" Then $blockcount = $blockcount + 1
Next
$blockcount = $blockcount - 1
Global $notlock[$blockcount + 1]
For $i = 0 To $blockcount
$notlock[$i] = $notblockliste[$i]
Next
#EndRegion notlock#Region Leere felder füllen
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To 99 Step +1
For $e = 0 To 2 Step +1
$ar[$i][$e] = "leer"
Next
Next
For $i = 0 To 99 Step +1
For $e = 0 To 2 Step +1
$ae[$i][$e] = "leer"
Next
Next
#EndRegion Leere felder füllen#Region werte lesen
[/autoit] [autoit][/autoit] [autoit]
$ar = _GetRegValues($Regsetting_block)
$ae = _GetRegValues($Regsetting_example)
#EndRegion werte lesenOpt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $Form1)
#Region ### liste anzeigen ###
For $i = 0 To UBound($ar) - 1
$data = $ar[$i][2]
If $data <> "" Then _GUICtrlListBox_InsertString($lock_list, $data) ;Eintrag einfügen
Next
;_ArrayDisplay($ar)
For $i = 0 To UBound($ae) - 1
$data = $ae[$i][2]
If $data <> "" Then _GUICtrlListBox_InsertString($example_list, $data) ;Eintrag einfügen
Next
;_ArrayDisplay($ae)
#EndRegion ### liste anzeigen ###
While 1
If _IsPressed("2E") Then _del()
Sleep(100)
WEndFunc Form1Close()
[/autoit] [autoit][/autoit] [autoit]
Local $frage
RegDelete("HKEY_USERS\" & $SID & "\Software\Ron_Welzel\DisallowRun\Werte_example")
For $i = 0 To _GUICtrlListBox_GetCount($example_list) - 1
$data = _GUICtrlListBox_GetText($example_list, $i)
If $data <> "0" Then RegWrite("HKEY_USERS\" & $SID & "\Software\Ron_Welzel\DisallowRun\Werte_example", $i, "REG_SZ", $data)
Next
RegDelete("HKEY_USERS\" & $SID & "\Software\Ron_Welzel\DisallowRun\Werte_block")
For $i = 0 To _GUICtrlListBox_GetCount($lock_list) - 1
$data = _GUICtrlListBox_GetText($lock_list, $i)
If $data <> "0" Then RegWrite("HKEY_USERS\" & $SID & "\Software\Ron_Welzel\DisallowRun\Werte_block", $i, "REG_SZ", $data)
Next
If $restart = True Then
$frage = MsgBox(4096 + 4, "Neustarten?", "Es sind Änderungen durchgeführt worden," & @LF & "diese werden erst nach einem Neustart aktiv." & @LF & @LF & "Jetzt Neustarten?")
If $frage <> 7 Then
Shutdown(2)
Else
Exit
EndIf
EndIf
Exit
EndFunc ;==>Form1CloseFunc entfernen_buttenClick()
[/autoit] [autoit][/autoit] [autoit]
Local $number
$data = ""
$data = _GUICtrlListBox_GetText($lock_list, _GUICtrlListBox_GetCurSel($lock_list))
;$number = _GUICtrlListBox_GetSelCount( _GUICtrlListBox_GetCurSel($lock_list))
;msgbox(0,"",$number)
_GUICtrlListBox_BeginUpdate($lock_list)
_GUICtrlListBox_DeleteString($lock_list, _GUICtrlListBox_FindString($lock_list, $data, True))
_GUICtrlListBox_EndUpdate($lock_list) ;ListBox sperren
_GUICtrlListBox_BeginUpdate($example_list)
_GUICtrlListBox_InsertString($example_list, $data) ;Eintrag einfügen
_GUICtrlListBox_EndUpdate($example_list) ;ListBox sperren
EndFunc ;==>entfernen_buttenClickFunc hinzufugen_buttonClick()
[/autoit] [autoit][/autoit] [autoit]
Local $number
$data = ""
$data = _GUICtrlListBox_GetText($example_list, _GUICtrlListBox_GetCurSel($example_list))
;$number = _GUICtrlListBox_GetSelCount( _GUICtrlListBox_GetCurSel($lock_list))
;msgbox(0,"",$number)
_GUICtrlListBox_BeginUpdate($example_list)
_GUICtrlListBox_DeleteString($example_list, _GUICtrlListBox_FindString($example_list, $data, True))
_GUICtrlListBox_EndUpdate($example_list) ;ListBox sperren
_GUICtrlListBox_BeginUpdate($lock_list)
_GUICtrlListBox_InsertString($lock_list, $data) ;Eintrag einfügen
_GUICtrlListBox_EndUpdate($lock_list) ;ListBox sperren
EndFunc ;==>hinzufugen_buttonClickFunc newprog_buttonClick()
[/autoit] [autoit][/autoit] [autoit]
If GUICtrlRead($locklist_radio) = 1 Then
$data = GUICtrlRead($newprog_input)
If $data <> "" Then
If StringLen($data) = 1 Or StringLen($data) = 2 Or StringLen($data) = 3 Or StringLen($data) = 4 Then
$data = $data & ".exe"
EndIf
$dataarray = StringSplit($data, "")
If $dataarray[UBound($dataarray) - 4] == "." And $dataarray[UBound($dataarray) - 3] = "e" And $dataarray[UBound($dataarray) - 2] = "x" And $dataarray[UBound($dataarray) - 1] = "e" Then
Else
$data = $data & ".exe"
EndIf
For $i = 0 To UBound($notlock) - 1
If $data = $notlock[$i] Then
MsgBox(0, "System", $notlock[$i] & "sollte nicht gesperrt werden!")
GUICtrlSetData($newprog_input, "")
EndIf
Next
_vergleichstringlocklist($data)
GUICtrlSetData($newprog_input, "")
EndIf
EndIf
If GUICtrlRead($examplelist_radio) = 1 Then
Local $dataarray[100]
$data = GUICtrlRead($newprog_input)
If $data <> "" Then
If StringLen($data) = 1 Or StringLen($data) = 2 Or StringLen($data) = 3 Or StringLen($data) = 4 Then
$data = $data & ".exe"
EndIf
$dataarray = StringSplit($data, "")
If $dataarray[UBound($dataarray) - 4] == "." And $dataarray[UBound($dataarray) - 3] = "e" And $dataarray[UBound($dataarray) - 2] = "x" And $dataarray[UBound($dataarray) - 1] = "e" Then
Else
$data = $data & ".exe"
EndIf
For $i = 0 To UBound($notlock) - 1
If $data = $notlock[$i] Then
MsgBox(0, "System", $notlock[$i] & " Sollte nicht gesperrt werden!")
GUICtrlSetData($newprog_input, "")
$data = ""
EndIf
Next
_vergleichstringexapmlelist($data)
GUICtrlSetData($newprog_input, "")
EndIf
EndIf
EndFunc ;==>newprog_buttonClickFunc _vergleichstringexapmlelist($string)
[/autoit] [autoit][/autoit] [autoit]
If $string <> "" Then ;Wenn die Daten nicht leer sind
$exists = False ;Gibt an ob es den Eintrag schon gibt
$count = _GUICtrlListBox_GetCount($example_list) ;Einträge der ListBox
For $i = 0 To $count - 1 ;Druchlaufen
$entry = _GUICtrlListBox_GetText($example_list, $i) ;Eintrag lesen
If $entry = $string Then ;Wenn gleich mit neunem Eintrag
$exists = True ;Doppelter Eintrag!
ExitLoop ;Verlasse Überprüfung
EndIf
Next
$count = _GUICtrlListBox_GetCount($lock_list) ;Einträge der ListBox
For $i = 0 To $count - 1 ;Druchlaufen
$entry = _GUICtrlListBox_GetText($lock_list, $i) ;Eintrag lesen
If $entry = $string Then ;Wenn gleich mit neunem Eintrag
$exists = True ;Doppelter Eintrag!
ExitLoop ;Verlasse Überprüfung
EndIf
Next
If $exists = False Then ;Wenn der Eintrag noch nicht existiert
_GUICtrlListBox_BeginUpdate($example_list) ;ListBox entsperren
_GUICtrlListBox_InsertString($example_list, $string) ;Eintrag einfügen
_GUICtrlListBox_EndUpdate($example_list) ;ListBox sperren
EndIf
EndIf
EndFunc ;==>_vergleichstringexapmlelistFunc _vergleichstringlocklist($string)
[/autoit] [autoit][/autoit] [autoit]
If $string <> "" Then ;Wenn die Daten nicht leer sind
$exists = False ;Gibt an ob es den Eintrag schon gibt
$count = _GUICtrlListBox_GetCount($lock_list) ;Einträge der ListBox
For $i = 0 To $count - 1 ;Druchlaufen
$entry = _GUICtrlListBox_GetText($lock_list, $i) ;Eintrag lesen
If $entry = $string Then ;Wenn gleich mit neunem Eintrag
$exists = True ;Doppelter Eintrag!
ExitLoop ;Verlasse Überprüfung
EndIf
Next
$count = _GUICtrlListBox_GetCount($example_list) ;Einträge der ListBox
For $i = 0 To $count - 1 ;Druchlaufen
$entry = _GUICtrlListBox_GetText($example_list, $i) ;Eintrag lesen
If $entry = $string Then ;Wenn gleich mit neunem Eintrag
$exists = True ;Doppelter Eintrag!
ExitLoop ;Verlasse Überprüfung
EndIf
Next
If $exists = False Then ;Wenn der Eintrag noch nicht existiert
_GUICtrlListBox_BeginUpdate($lock_list) ;ListBox entsperren
_GUICtrlListBox_InsertString($lock_list, $string) ;Eintrag einfügen
_GUICtrlListBox_EndUpdate($lock_list) ;ListBox sperren
EndIf
EndIf
EndFunc ;==>_vergleichstringlocklistFunc anwenden_buttonClick()
[/autoit] [autoit][/autoit] [autoit]
RegDelete("HKEY_USERS\" & $SID & "\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun")
RegWrite("HKEY_USERS\" & $SID & "\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "DisallowRun", "REG_DWORD", "1")
For $i = 0 To _GUICtrlListBox_GetCount($lock_list) - 1
$data = _GUICtrlListBox_GetText($lock_list, $i)
If $data <> "0" Then RegWrite("HKEY_USERS\" & $SID & "\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Disallowrun", $i + 1, "REG_SZ", $data)
Next
$restart = True
EndFunc ;==>anwenden_buttonClickFunc fileselctClick()
[/autoit] [autoit][/autoit] [autoit]
Local $filearray[100]
$fileload = FileOpenDialog("Programm Auswählen", "", "Anwendungen (*.exe)")
$filearray = StringSplit($fileload, "\")
$number = UBound($filearray) - 1
If $filearray[$number] <> "" Then GUICtrlSetData($newprog_input, $filearray[$number])
EndFunc ;==>fileselctClickFunc loschenClick()
[/autoit] [autoit][/autoit] [autoit]
$data = _GUICtrlListBox_GetText($example_list, _GUICtrlListBox_GetCurSel($example_list))
_GUICtrlListBox_BeginUpdate($example_list)
_GUICtrlListBox_DeleteString($example_list, _GUICtrlListBox_FindString($example_list, $data, True))
_GUICtrlListBox_EndUpdate($example_list) ;ListBox sperren
EndFunc ;==>loschenClickFunc _del()
[/autoit]
$data = _GUICtrlListBox_GetText($example_list, _GUICtrlListBox_GetCurSel($example_list))
_GUICtrlListBox_BeginUpdate($example_list)
_GUICtrlListBox_DeleteString($example_list, _GUICtrlListBox_FindString($example_list, $data, True))
_GUICtrlListBox_EndUpdate($example_list) ;ListBox sperren
EndFunc ;==>_del -
Nee keine sorge das ist nichts schlimmes
das ist nur damit ich hinterher weiß mit welchem benutzer ich meinen PC heruntergefahren habe.
(von fern aus)
wegen VPN gründen und so. funktioniert auch nicht über TCP sondern nur lokal wer sich mit meinem PC verbunden hat das dazugehörige programm läuft auch nur lokal auf meinem PC.
ansonsten ist das gegenstück ein Programm welches verschlüsselt etwas in ner ini schreibt und dann später von meinem pc ausgelesen und herruntergefahren bzw sonstige sachen via dos und autoit gemacht werden wie z.b. datein so auf meine so genannte "VPN-Platte" zu kopieren.da ich ja solbst weiß wo ich daten speichere was andere nicht wissen. -
Uh ja denke jetzt gehts!
Entschuldige wenn ich das nicht auf anhieb verstanden habe
aber vielen vielen danke für die hilfe! -
stimmt!
Also wenn ich das richtig verstanden habe, dann sollte diese Funktion:
_GetRegValues($HKEY)diese werte auflisten können, allerdings muss ich gestehen,
das ist die syntax nicht verstehe. leider. was eigendlich nicht oft so ist.
also ich wäre für ein beispiel, welches ich verstehe einfach ein praktischen beispiel,
wie diese funktion die Namen in einem array speichert, dann sollte ich das auch verstehen -
Hallo BugFix.
Ich habe ein Problem mit der Funktion
ich möchte alle werte die in den:
HKEY_USERS\***SID***\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
auslesen, die SID habe ich mit der Funktion _GetSID() bereits, nur leider halt nicht die werte
aus Explorer, grund ist ich möchte ein Programm/script schreiben, welches dann mit Disallowrun
bestimmte programme sperren/entsperren möchte.
und diese dementsprechend auslesen muss, welche bereits vorhanden sind und welche nicht.Hoffe auf schnelle anzwort!
vielen dank schon mal für deine anderen hilfreichen beiträge, die mir schon einige male geholfen haben!