Du brauchst eine Erklärung dafür?
Das ist doch fast wie Delphi.
Zitat von
MathiasSimmack:
Code:
Const strSearchKey = "
HKCR\%1\PersistentHandler\"
Const strSearchVal = "{5e941d80-bf96-11cd-b579-08002b30bfeb}"
Const strFilterPath = _
"
HKLM\SYSTEM\CurrentControlSet\Control\ContentIndex\FilterFilesWithUnknownExtensions"
Die Konstanten, auf die zugegriffen wird.
Zitat:
Code:
Dim strTypes
strTypes = Array(".xml", _
".xsl", _
".xsd", _
".dtd", _
".htm", _
".html", _
".shtml", _
".php")
Das Array mit den Dateitypen. Kannst du gern erweitern.
Zitat:
Code:
' Der Unterstrich am Ende der obigen Zeilen ist eine Anweisung
' für den Interpreter, dass es in der jeweils nächsten Zeile
' weitergeht. Ansonsten wäre eine Fehlermeldung die Folge!
Das ist eine Anmerkung von mir direkt als Kommentar im Skriptcode.
Zitat:
Code:
Dim Sh
Set Sh = CreateObject("WScript.Shell")
Hier wird das "WshShell"-Objekt erzeugt, damit auf die Registry zugegriffen werden kann. Dass es im Code "WScript.Shell" heißt, ist kein Fehler.
Zitat:
Code:
Dim strCurrentType
For Each strCurrentType in strTypes
strCurrentType = Replace(strSearchKey, "%1", strCurrentType)
Sh.RegWrite strCurrentType, strSearchVal
Next
In der Schleife wird jede der Dateiendungen aus dem o.g. Array ausgelesen. Die Konstante "strSearchKey" wird als Grundlage genommen, wobei das "%1" durch den aktuellen Dateityp (sprich: die aktuelle Endung aus dem Array) ersetzt wird.
btw: Der Backslash am Ende von
Code:
Const strSearchKey = "
HKCR\%1\PersistentHandler\"
bedeutet, dass auf den Standardwert des Schlüssels zugegriffen wird. In dem Fall wird die Konstante "strSearchVal" (die
GUID, s. Deklaration) eingetragen.
Zitat:
Code:
Sh.RegWrite strFilterPath, "1", "REG_DWORD"
Und hier wird der Wert in die Registry geschrieben, den ich in meinem Posting von ... tja, irgendwie sehe ich die Uhrzeit gerade nicht ... erwähnt habe ...
Im Prinzip nichts Außergewöhnliches. Kann man mit Delphi problemlos nachbilden. Aber wozu? Für solche Kleinigkeiten ist VBS ganz nützlich.