- Offizieller Beitrag
hallo!
mit diesem tool kann man ein kontextmenueintrag einer beliebigen datei erstellen! hat nioch ein paar kleine features!aber hier das script:
*edit: hab ein fehler gefunden: er sagt immer das der eintrag nich gefunden wurde -.- _BEHOBEN_
C
;need Beta!
#include <GUIConstants.au3>
#include <GuiList.au3>
$searchread = ""
$i = 0
$erwset =""
SplashTextOn("","Bitte Warten...",120,20,-1,-1,1)
While 1
$i+=1
$rek = RegEnumKey("HKCR",$i)
If @error Then ExitLoop
If StringLeft($rek,1) = "." Then $erwset &= StringTrimLeft($rek,1)&"|"
;~ If $rek = "*" Then $erwset &= "*|"
WEnd
$gui = GUICreate("Kontex Erweiterung", 239, 176, 192, 125)
$erw = GUICtrlCreateList("", 8, 8, 66, 166, $LVS_LIST)
GUICtrlSetData(-1,$erwset)
$search = GUICtrlCreateInput("", 80, 24, 153, 21, -1, $WS_EX_CLIENTEDGE)
GUICtrlCreateLabel("Suche", 80, 8, 35, 13)
$prog = GUICtrlCreateInput("", 80, 64, 121, 21, -1, $WS_EX_CLIENTEDGE)
GUICtrlCreateLabel("Programm", 80, 48, 51, 13)
$choose = GUICtrlCreateButton("..", 208, 64, 27, 21)
$text = GUICtrlCreateInput("", 80, 104, 153, 21, -1, $WS_EX_CLIENTEDGE)
GUICtrlCreateLabel("Text", 80, 88, 25, 13)
$start = GUICtrlCreateButton("&Start", 80, 128, 155,21)
GUICtrlSetFont(-1, 12, 400, 0, "Arial Black")
$new = GUICtrlCreateButton("&Neuen Eintrag", 80, 148, 155,21)
GUICtrlSetFont(-1, 12, 400, 0, "Arial Black")
GUISetState(@SW_SHOW)
SplashOff()
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $searchread <> GUICtrlRead($search)
$searchread = GUICtrlRead($search)
_GUICtrlListSelectString($erw,$searchread)
If $searchread = "" Then _GUICtrlListSelectIndex($erw,0)
Case $msg = $choose
$exe = FileOpenDialog("","","Exe Files(*.exe)|All(*.*)")
If @error Then ContinueLoop
$bef = InputBox("Befehl","Wie soll der cmdline befehl der exe lauten? Geben Sie %1 ein um die momentane Datei auszuwählen!","%1")
If @error Then ContinueLoop
GUICtrlSetData($prog,$exe&" "&$bef)
Case $msg = $new
$newerw = InputBox("","Name der endung","bsp")
If @error Then ContinueLoop
RegRead("HKCR\."&$newerw,"")
If Not @error Then
If MsgBox(4,"","Die endung gibt es schon! Löschen?") = 6 Then
If MsgBox(52,"Entfernen","Sind Sie Sich sicher dass Sie die Erweiterung "&$newerw&" entfernen möchten? Ich nehme keine haftung für mögliche Fehler!") = 6 Then
RegDelete("HKCR"&RegRead("HKCR\."&$newerw,""))
RegDelete("HKCR\."&$newerw)
EndIf
EndIf
Else
RegWrite("HKCR\."&$newerw,"","REG_SZ",$newerw&"file")
RegWrite("HKCR"&$newerw&"file")
EndIf
ProgressOn("","Bitte Warten...")
$ii = $i+1
$i = 0
$erwset = ""
While 1
$i+=1
$rek = RegEnumKey("HKCR",$i)
If @error Then ExitLoop
If StringLeft($rek,1) = "." Then $erwset &= StringTrimLeft($rek,1)&"|"
ProgressSet(Round(($i*100)/$ii),Round(($i*100)/$ii)&"%")
WEnd
_GUICtrlListClear($erw)
GUICtrlSetData($erw,$erwset)
ProgressOff()
Case $msg = $start
$progre = GUICtrlRead($prog)
$textre = GUICtrlRead($text)
$erwre = _GUICtrlListGetText ($erw, _GUICtrlListSelectedIndex ($erw))
RegRead("HKCR\."&$erwre,"")
If @error Then
MsgBox(16,"","Sie haben kein eintrag gewählt!")
ContinueLoop
EndIf
GUIDelete()
$erwrestread = RegRead("HKCR\."&$erwre,"")
If $erwrestread = "" Then
RegWrite("HKCR"&$erwre&"file")
$erwrestread = $erwre&"file"
EndIf
$reg = "HKCR"&$erwrestread&"\Shell"&$textre&"\command"
RegRead($reg,"")
If Not @error Then
If MsgBox(4,"DeInstall","Wollen Sie den Kontext menu eintrag "&$textre&" Entfernen?") = 6 Then
RegDelete("HKCR"&$erwrestread&"\Shell"&$textre)
MsgBox(0,"DeInstall","Der Eintrag "&$textre&" wurde erfolgreich in HKCR"&$erwrestread&" entfernt!")
Else
RegWrite($reg,"","REG_SZ",$progre)
MsgBox(0,"Fertig","Es wird nun in jeder datei, die mit "&$erwre&" endet ein Kontext menu stehen("&$textre&"), und es wird sobald man darauf klickt mit "&$progre&" geöffnet!")
EndIf
Else
RegWrite($reg,"","REG_SZ",$progre)
MsgBox(0,"Fertig","Es wird nun in jeder datei, die mit "&$erwre&" endet ein Kontext menu stehen("&$textre&"), und es wird sobald man darauf klickt mit "&$progre&" geöffnet!")
EndIf
Exit
EndSelect
WEnd
Exit
Alles anzeigen
p.s.: schade das man hier nur eine datei anhängen kann
und das mann hier keine exe dateien anhängen kann -.-
wenn man hier im edit eine datei nochmal mit dem gleichen namen anhängen will klappt es net ![]()
oh klappt doch^^