Du kan selvfølgelig oprette mapper via. Visual Basic. Der bruger du FileSystem Object. Jeg kan give dig et eksempel på hvordan det gøres.
Hvis du skal ændre brugerrettigheder, så er løsningen at bruge Windows2000 Ressourcekit, men det kræver at det er installeret på alle de maskiner hvor programmet skal køre.
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_SHOWNORMAL = 1
Private Sub NewUser(strPath As String, strUser As String) Open App.Path & "\temp.bat" For Output As #1 Print #1, "echo y|cacls " & strPath & " /E /G " & strUser & ":F" Close #1 ShellExecute Me.hWnd, "Open", App.Path & "\temp.bat", "", "", 0 End Sub
---
tricket er jeg vil gerne lave en .dll fil, hvor jeg i ex. asp bare kan kalde public functionen, som så udfører den på serveren. (jeg er noget grøn i vb endnu, men prøver at komme efter det) -
når jeg benytter - NewUser "d:\hej", "everyone" - i en function, tilføjer den brugeren, som jeg ønsker det. Men når jeg opretter en ActiveX dll fil kager den og siger at hwnd er en ukendt data / method.
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_SHOWNORMAL = 1
Public Sub NewUser(strPath As String, strUser As String) Open App.Path & "\temp.bat" For Output As #1 Print #1, "echo y|cacls " & strPath & " /E /G " & strUser & ":F" Close #1 Shell App.Path & "\temp.bat" 'ShellExecute setthis, "Open", App.Path & "\temp.bat", "", "", 0 End Sub
Private Sub Class_Initialize() NewUser "d:\test", "everyone" End Sub
Brug shell istedet for shellexecute, da du ikke har en Me.hWnd det er kun formularer der har det.
Jeg kan dog ikke få løsningen til at virke. Der bliver ikke tilføjet everyone i testfolderen.
jeg forsøgte lige med
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_SHOWNORMAL = 1
Public Sub NewUser(strPath As String, strUser As String) Open App.Path & "\temp.bat" For Output As #1 Print #1, "echo y|cacls " & strPath & " /E /G " & strUser & ":F" Close #1 Shell App.Path & "\temp.bat" 'ShellExecute setthis, "Open", App.Path & "\temp.bat", "", "", 0 End Sub
Public Function test() NewUser "d:\test", "everyone" test = "jepper" End Function
--
og kaldte den funktionen, som svarede jepper tilbage, men oprettelsen udeblev
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.