1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. BuFF

Beiträge von BuFF

  • C# Problem

    • BuFF
    • 17. Juli 2011 um 11:46

    kann man soetwas nicht in C# mit einer "maskedTextBox" realisieren, also das man nur Zahlen eingeben kann oder hab ich das Thema falsch verstanden? :D
    Da man ja dann sagen kann ich will nur zahlen.

  • name_change (ACHTUNG!)

    • BuFF
    • 16. Juli 2011 um 13:15

    so einwenig verbessert, das optionale recusiv lesen ist nun dabei

  • name_change GUI in C# (ACHTUNG!)

    • BuFF
    • 16. Juli 2011 um 13:11

    Gab/Gibt ja kein C# bereich ^^
    deswegen hab ich es in C++ reingepackt :p

  • name_change GUI in C# (ACHTUNG!)

    • BuFF
    • 16. Juli 2011 um 13:02

    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öglich

    Dennoch 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 :)

    Dateien

    name_change_gui.zip 545,27 kB – 494 Downloads name_change_gui_realese_exe.zip 10,33 kB – 447 Downloads NameChange_GUI.PNG 82,28 kB – 0 Downloads
  • Kontexmenü_creator

    • BuFF
    • 28. Januar 2011 um 12:54

    Update :D 1 beitrag

  • DisallowRun

    • BuFF
    • 25. Januar 2011 um 21:02

    Stimmt ich wollte eig ne Zip anhängen

  • Kontexmenü_creator

    • BuFF
    • 25. Januar 2011 um 19:18

    Und hier sagt auch keiner was zu? :( :D

  • DisallowRun

    • BuFF
    • 25. Januar 2011 um 19:18

    Keiner sagt etwas dazu? :( :D

  • name_change (ACHTUNG!)

    • BuFF
    • 25. Januar 2011 um 17:20
    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 :D
    wie man vielleicht auch bei meinen anderen Werken erkennen kann :p

  • name_change (ACHTUNG!)

    • BuFF
    • 25. Januar 2011 um 15:29

    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

    • BuFF
    • 25. Januar 2011 um 15:20

    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 nutzen

    PS: Macht was ihr wollt damit :D
    Wenn es euch gefällt schreibt :p
    Hauptteil

    Spoiler anzeigen
    [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 ;==>hidemenutrayClick

    [/autoit]


    UDF von BugFix

    Spoiler anzeigen
    [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] [autoit][/autoit] [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

    [/autoit]

    Dateien

    Kontexmenu.au3 19,49 kB – 347 Downloads Kontexmenu_creator.zip 438,99 kB – 382 Downloads
  • name_change (ACHTUNG!)

    • BuFF
    • 25. Januar 2011 um 13:32

    ich hatte das script doch in der zip oder nicht?

  • name_change (ACHTUNG!)

    • BuFF
    • 24. Januar 2011 um 22:35

    Meinst du so? :)

  • name_change (ACHTUNG!)

    • BuFF
    • 24. Januar 2011 um 22:20

    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.cpp

    Ich 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,und

    name_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>
    #include <string.au3>
    #include <array.au3>
    #include <file.au3>

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

    #NoTrayIcon
    ;Opt("MustDeclareVars", 1)
    Global $charrep, $charsec, $cmdpfad, $charsecpf, $charreppf, $aeouue = False, $recu = False

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

    If $CmdLine[0] <= 0 Then _errot()
    ;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
    Next

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

    For $e = UBound($CmdLine) - 1 To 1 Step -1
    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"

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

    Next
    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")

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

    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
    Global $arvz = _RecursiveFileListToArray($cmdpfad, 2, 1, $recu)
    Global $arda = _RecursiveFileListToArray($cmdpfad, 1, 1, $recu)

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

    Global $File = FileOpen("C:\Name_Change.log", 9)
    ;_ArrayDisplay($arvz)
    ;for $e = 1 to UBound($arvz)-1 step + 1
    For $i = 1 To UBound($arda) - 1 Step +1

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

    $ardae = StringSplit($arda[$i], "\")
    $movedatei = $ardae[UBound($ardae) - 1]
    $ardateiendung = StringSplit($movedatei, ".", 2)
    If UBound($ardateiendung) > 1 Then
    $ardateiendungkurzel = "." & $ardateiendung[UBound($ardateiendung) - 1]
    $movedatei = StringReplace($movedatei, $ardateiendungkurzel, "")
    EndIf

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

    ;MsgBox("","",UBound($ardateiendung) & @LF & $ardateiendungkurzel& @LF & $movedatei)
    $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

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

    $movepfad = StringReplace($arda[$i], $ardae[UBound($ardae) - 1], "")

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

    ;MsgBox("","",$movepfad & $movedatei & @lf & $movepfad & $movecangename)
    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)

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

    ;Next
    Next
    If $recu = 0 Then
    $no_other_pfad = True
    Else
    $no_other_pfad = False
    EndIf

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

    If $no_other_pfad = False Then
    If $recu == 1 Then
    For $i = UBound($arvz) - 1 To 1 Step -1

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

    $ardae = StringSplit($arvz[$i], "\")
    ;_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 & "\", "")

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

    ;MsgBox("","",$movepfad & $aktuellerOrdner &@lf& $movepfad & $moveOrdnernamechange)
    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)

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

    DirMove($movepfad & $aktuellerOrdner, $movepfad & $moveOrdnernamechange, 1)

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

    Next
    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 )

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

    ;MsgBox("","",$movepfad & $aktuellerOrdner &@lf& $movepfad & $moveOrdnernamechange)
    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)

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

    DirMove($movepfad & $aktuellerOrdner, $movepfad & $moveOrdnernamechange, 1)
    FileClose($File)

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

    Exit
    Else
    $ardae = StringSplit($cmdpfad, "\")
    ;msgbox("","",$cmdpfad)
    $aktuellerOrdner = $ardae[UBound($ardae) - 1]

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

    ;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")
    ;MsgBox("","",$moveOrdnernamechange)
    ;$movepfad = StringRegExpReplace($arvz[$i],$aktuellerOrdner & "\","",2)
    $movepfad = StringReplace($cmdpfad, $aktuellerOrdner, "")

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

    DirMove($movepfad & $aktuellerOrdner, $movepfad & $moveOrdnernamechange, 1)
    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)

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

    ;MsgBox("","",$movepfad & $aktuellerOrdner &@lf& $movepfad & $moveOrdnernamechange)
    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
    EndIf

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

    Func _errot()
    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

    [/autoit]

    Dateien

    name_change.zip 322,58 kB – 366 Downloads
  • Mastermind mit zahlen (Spiel)

    • BuFF
    • 24. Januar 2011 um 22:16

    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 rechnung

    EDIT:
    Script liegt in der ZIP

    Dateien

    Mastermind_bla.zip 678,97 kB – 517 Downloads
  • DisallowRun

    • BuFF
    • 24. Januar 2011 um 22:05

    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 :p

    EDIT:
    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 an :D

    Spoiler anzeigen
    [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

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

    #Region Globale variablen
    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

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

    #Region ### START Koda GUI section ### Form=C:\Users\Ron\Documents\AutoIT3\Disallowrun\Form1.kxf
    $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 ###

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

    #Region debug meldungen
    ;//////////////////////
    ;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

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

    #Region notlock
    ;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

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

    #Region Leere felder füllen
    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

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

    #Region werte lesen
    $ar = _GetRegValues($Regsetting_block)
    $ae = _GetRegValues($Regsetting_example)
    #EndRegion werte lesen

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

    Opt("GUIOnEventMode", 1)
    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)
    WEnd

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

    Func Form1Close()
    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 ;==>Form1Close

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

    Func entfernen_buttenClick()
    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_buttenClick

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

    Func hinzufugen_buttonClick()
    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_buttonClick

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

    Func newprog_buttonClick()
    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_buttonClick

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

    Func _vergleichstringexapmlelist($string)
    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 ;==>_vergleichstringexapmlelist

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

    Func _vergleichstringlocklist($string)
    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 ;==>_vergleichstringlocklist

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

    Func anwenden_buttonClick()
    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_buttonClick

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

    Func fileselctClick()
    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 ;==>fileselctClick

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

    Func loschenClick()
    $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 ;==>loschenClick

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

    Func _del()
    $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

    [/autoit]

    Dateien

    _GetSID.au3 447 Byte – 368 Downloads Disallowrun.zip 788,05 kB – 403 Downloads disallowrun.au3 13,66 kB – 413 Downloads
  • Aus *.log datei einen verlauf erstellen mit GUI

    • BuFF
    • 20. Januar 2011 um 15:45

    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.

  • Registry-Funktionen per Objekt

    • BuFF
    • 17. Oktober 2010 um 17:56

    Uh ja denke :) jetzt gehts!
    Entschuldige wenn ich das nicht auf anhieb verstanden habe :/
    aber vielen vielen danke für die hilfe!

  • Registry-Funktionen per Objekt

    • BuFF
    • 17. Oktober 2010 um 17:37

    :) 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 :/

  • Registry-Funktionen per Objekt

    • BuFF
    • 17. Oktober 2010 um 14:54

    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!

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™