Mittlerweile geschafft
Im Internet habe ich den unten von mir schon etwas modifizier-
ten Code (WSH-Script) gefunden.
Mittlerwiele habe ich es geschafft einen Folder im Startmenü
anzulegen, der zeigt mir allerdings immer nur den Inhalt des
Arbeitsplatzes angezeigt wird. Dies liegt wohl an CLSID, die
ich gefunden habe: {20D04FE0-3AEA-1069-A2D8-08002B30309D}
Ich möchte aber den Explorer aufrufen und den unter siteUrl
angegebenen Verzeichnis verzweigen. Vielleicht muss auch die
Target.lnk angepasst werden? Kann mir hier einer weiterhelfen?
Code:
Option Explicit
Sub CreateNetworkFolder(siteURL, siteName)
Dim iRes, jRes, MT, TT
Dim SH, newPath
Dim objFso, f, fs, g
Dim bString
Dim ltrIndex
Dim nameLength, urlLength, urlCutoff
Dim aFile, wshShell, oShellLink, TPA, TP
Const ForWriting = 2
nameLength = Len(siteName)
urlLength = Len(siteURL)
urlCutoff = 44
MT = "OK to create a My Network Places " & vbCr & _
"folder for " & siteURL & vbCr & "named " & siteName & „?“
TT = „My Network Places“
iRes = MsgBox(MT, vbOKCancel + vbInformation, TT )
Set objFso = CreateObject(„Scripting.FileSystemObject“)
If iRes = vbCancel Then
WScript.Quit
End If
Set SH = WScript.CreateObject(„WScript.Shell“)
newPath = SH.SpecialFolders(„AllUsersStartMenu“) & „“ & _
siteName
MsgBox newPath
If (objFso.FolderExists(siteURL & „“ & siteName)) Then _
WScript.Echo "A Network Place with that name " & _
„already exists.“
WScript.Quit
End If
objFso.CreateFolder(newPath)
Set fs = CreateObject(„Scripting.FileSystemObject“)
aFile = newPath & „\Desktop.ini“
MsgBox afile
Set f = fs.OpenTextFile( aFile, ForWriting, True )
f.WriteLine „[.ShellClassInfo]“
f.WriteLine „CLSID2={20D04FE0-3AEA-1069-A2D8-08002B30309D}“
f.WriteLine „Flags=2“
f.WriteLine „ConfirmFileOp=0“
f.Close
Set fs = CreateObject(„Scripting.FileSystemObject“)
Set g = fs.GetFile(newPath & „\Desktop.ini“)
g.Attributes = 6
Set fs = CreateObject(„Scripting.FileSystemObject“)
Set g = fs.GetFolder(newPath)
g.Attributes = 1
bString = Chr(&H4C) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H01) & Chr(&H14) & Chr(&H02) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&HC0) & _
Chr(&H00) & Chr(&H00) & Chr(&H00)
bString = bString & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H46) & Chr(&H81) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00)
bString = bString & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00)
bString = bString & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H01) & _
Chr(&H00) & Chr(&H00) & Chr(&H00)
bString = bString & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00)
bString = bString & Chr(&HFF)
If urlLength > urlCutoff Then
bString = bString & Chr(&H01)
Else
bString = bString & Chr(&H00)
End If
bString = bString & Chr(&H14) & Chr(&H00)
bString = bString & Chr(&H1F) & Chr(&H50) & Chr(&HE0) & _
Chr(&H4F) & Chr(&HD0) & Chr(&H20) & Chr(&HEA) & Chr(&H3A) & _
Chr(&H69) & Chr(&H10) & Chr(&HA2) & Chr(&HD8) & Chr(&H08) & _
Chr(&H00) & Chr(&H2B) & Chr(&H30)
bString = bString & Chr(&H30) & Chr(&H9D) & Chr(&H14) & _
Chr(&H00) & Chr(&H2E) & Chr(&H00) & Chr(&H00) & Chr(&HDF) & _
Chr(&HEA) & Chr(&HBD) & Chr(&H65) & Chr(&HC2) & Chr(&HD0) & _
Chr(&H11) & Chr(&HBC) & Chr(&HED)
bString = bString & Chr(&H00) & Chr(&HA0) & Chr(&HC9) & _
Chr(&H0A) & Chr(&HB5) & Chr(&H0F) & Chr(&HA4)
If urlLength > urlCutoff Then
bString = bString & Chr(&H01)
Else
bString = bString & Chr(&H00)
End If
bString = bString & Chr(&H4C) & Chr(&H50) & Chr(&H00) & _
Chr(&H01) & Chr(&H42) & Chr(&H57) & Chr(&H00) & Chr(&H00)
bString = bString & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H10) & Chr(&H00)
bString = bString & Chr(&H00) & Chr(&H00)
bString = bString & Chr(nameLength)
For ltrIndex = 1 To nameLength
bString = bString & Chr(&H00) & Mid(siteName, ltrIndex, 1)
Next
bString = bString & Chr(&H00) & Chr(&H00) & Chr(&H00)
bString = bString & Chr(urlLength)
For ltrIndex = 1 to urlLength
bString = bString & Chr(&H00) & Mid(siteURL, ltrIndex, 1)
Next
bString = bString & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & _
Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00)
Set fs = CreateObject(„Scripting.FileSystemObject“)
aFile = newPath & „\target.lnk“
Set f = fs.OpenTextFile(aFile, ForWriting, True)
f.Write bString
f.Close
MT = siteName & " created."
jRes = MsgBox(MT, vbOK, TT )
End Sub
CreateNetworkFolder „C:\temp“, „myFolderNew“