vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Anwendungsordner freigeben 
Autor: WaldiMaywood
Datum: 13.09.04 16:51

>> Hast du also die Kiste wieder flicken können? Freut mich.

Noch nicht so wirklich


>> Lass dir Zeit, bin schon seit 2 Wochen an dieser Sache. Aber unterdessen hab ich doch noch zweidrei andere kleinere Problemchen (mehr oder weniger) gelöst. Das Share ist einfach noch das letzte Teil, das mir fehlt. Doch unter der Woche muss ich sowieso trampen gehen, da hab ich gar keine Zeit für diese Spässe.

Das Thema interessiert mich aber mehr oder weniger. Deshalb hier und jetzt schon der VB.NET Code. Unter XP funktioniert dieser einwandfrei. Die Zugriffe steuerst du über die "shi2_permissions" Variable:

Code der Klasse:
Public Class Shares
    Private Const NERR_SUCCESS As Integer = 0&
    'share types
    Private Const STYPE_ALL As Integer = -1        'note: my const
    Private Const STYPE_DISKTREE As Integer = 0
    Private Const STYPE_PRINTQ As Integer = 1
    Private Const STYPE_DEVICE As Integer = 2
    Private Const STYPE_IPC As Integer = 3
    Private Const STYPE_SPECIAL As Integer = &H80000000
    'permissions
    Private Const ACCESS_READ As Integer = &H1
    Private Const ACCESS_WRITE As Integer = &H2
    Private Const ACCESS_CREATE As Integer = &H4
    Private Const ACCESS_EXEC As Integer = &H8
    Private Const ACCESS_DELETE As Integer = &H10
    Private Const ACCESS_ATRIB As Integer = &H20
    Private Const ACCESS_PERM As Integer = &H40
    Private Const ACCESS_ALL As Integer = ACCESS_READ Or ACCESS_WRITE Or _
      ACCESS_CREATE Or ACCESS_EXEC Or _
                                          ACCESS_DELETE Or ACCESS_ATRIB Or _
                                          ACCESS_PERM
    Private Structure SHARE_INFO_2
        Dim shi2_netname As Integer
        Dim shi2_type As Integer
        Dim shi2_remark As Integer
        Dim shi2_permissions As Integer
        Dim shi2_max_uses As Integer
        Dim shi2_current_uses As Integer
        Dim shi2_path As Integer
        Dim shi2_passwd As Integer
    End Structure
    Private Declare Function NetShareAdd Lib "netapi32" (ByVal servername As _
      Integer, _
                                                         ByVal level As _
                                                         Integer, _
                                                         ByRef buf As _
                                                         SHARE_INFO_2, _
                                                         ByVal parmerr As _
                                                         Integer) As Integer
 
    Public Shared Function ShareAdd(ByVal sServer As String, ByVal sSharePath _
      As String, _
                            ByVal sShareName As String, ByVal sShareRemark As _
                            String, _
                            ByVal sSharePw As String) As Integer
 
        Dim dwServer As Integer
        Dim dwNetname As Integer
        Dim dwPath As Integer
        Dim dwRemark As Integer
        Dim dwPw As Integer
        Dim parmerr As Integer
        Dim si2 As SHARE_INFO_2
 
        'obtain pointers to the server, share and path
        dwServer = StrPtr(sServer)
        dwNetname = StrPtr(sShareName)
        dwPath = StrPtr(sSharePath)
 
        'if the remark or password specified,
        'obtain pointer to those as well
        If sShareRemark.Length > 0 Then dwRemark = StrPtr(sShareRemark)
        If sSharePw.Length > 0 Then dwPw = StrPtr(sSharePw)
 
        'prepare the SHARE_INFO_2 structure
        With si2
            .shi2_netname = dwNetname
            .shi2_path = dwPath
            .shi2_remark = dwRemark
            .shi2_type = STYPE_DISKTREE
            .shi2_permissions = ACCESS_ALL
            .shi2_max_uses = -1
            .shi2_passwd = dwPw
        End With
        'add the share
        Return NetShareAdd(dwServer, 2, si2, parmerr)
    End Function
 
    Private Shared Function StrPtr(ByVal o As Object) As Integer
        Dim GC As System.Runtime.InteropServices.GCHandle = _
          System.Runtime.InteropServices.GCHandle.Alloc(o, _
          System.Runtime.InteropServices.GCHandleType.Pinned)
        Dim ret As Integer = GC.AddrOfPinnedObject.ToInt32
        GC.Free()
        Return ret
    End Function
End Class
Anwendung:
        Dim result As Integer = Shares.ShareAdd("\\" + _
          System.Environment.MachineName, "C:\Freigabe", "my share", "my" & _
          "share", String.Empty)
        Select Case result
            Case 0 : MessageBox.Show("share created successfully!")
            Case 2118 : MessageBox.Show("share name already exists")
            Case Else : MessageBox.Show("create error " + result.ToString())
        End Select
(Es funktioniert)

Viel Erfolg

Steve
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Anwendungsordner freigeben3.060Fritz05.09.04 10:56
Re: Anwendungsordner freigeben1.994WaldiMaywood05.09.04 12:59
Re: Anwendungsordner freigeben1.503Fritz05.09.04 13:39
Re: Anwendungsordner freigeben1.633WaldiMaywood05.09.04 13:45
Re: Anwendungsordner freigeben1.522Fritz05.09.04 14:22
Re: Anwendungsordner freigeben1.514Fritz05.09.04 14:58
Re: Anwendungsordner freigeben1.505WaldiMaywood05.09.04 15:04
Re: Anwendungsordner freigeben1.467Fritz05.09.04 15:33
Re: Anwendungsordner freigeben1.530WaldiMaywood05.09.04 15:42
Re: Anwendungsordner freigeben1.427Fritz05.09.04 16:03
Re: Anwendungsordner freigeben1.483WaldiMaywood05.09.04 16:23
Re: Anwendungsordner freigeben1.428Fritz05.09.04 16:41
Re: Anwendungsordner freigeben1.437WaldiMaywood05.09.04 17:37
Re: Anwendungsordner freigeben1.477Fritz05.09.04 17:51
Re: Anwendungsordner freigeben1.481WaldiMaywood05.09.04 17:58
Re: Anwendungsordner freigeben1.669Fritz05.09.04 18:09
Re: Anwendungsordner freigeben1.448WaldiMaywood05.09.04 18:16
Re: Anwendungsordner freigeben1.427Fritz05.09.04 19:16
Re: Anwendungsordner freigeben1.393Fritz06.09.04 17:51
Re: Anwendungsordner freigeben1.406Fritz08.09.04 12:35
Re: Anwendungsordner freigeben1.430Fritz11.09.04 10:26
Re: Anwendungsordner freigeben1.510WaldiMaywood11.09.04 12:10
Re: Anwendungsordner freigeben1.441Fritz11.09.04 12:22
Re: Anwendungsordner freigeben1.462Fritz12.09.04 14:44
Re: Anwendungsordner freigeben1.419WaldiMaywood12.09.04 17:33
Re: Anwendungsordner freigeben1.396Fritz12.09.04 17:54
Re: Anwendungsordner freigeben1.464WaldiMaywood13.09.04 16:51
Re: Anwendungsordner freigeben1.580Fritz13.09.04 18:06
Re: Anwendungsordner freigeben1.383WaldiMaywood13.09.04 18:40
Re: Anwendungsordner freigeben1.562Fritz13.09.04 18:48
Re: Anwendungsordner freigeben1.421WaldiMaywood14.09.04 20:39
Re: Anwendungsordner freigeben1.423Fritz14.09.04 21:57
Re: Anwendungsordner freigeben1.437WaldiMaywood14.09.04 22:54
Re: Anwendungsordner freigeben1.423Fritz15.09.04 15:20
Re: Anwendungsordner freigeben1.578WaldiMaywood15.09.04 15:32
Re: Anwendungsordner freigeben1.462Fritz05.09.04 18:50
Re: Anwendungsordner freigeben1.405Fritz15.09.04 16:30
Re: Anwendungsordner freigeben1.613WaldiMaywood15.09.04 19:10
Re: Anwendungsordner freigeben1.373Fritz15.09.04 20:18
Re: Anwendungsordner freigeben1.397WaldiMaywood15.09.04 20:28
Re: Anwendungsordner freigeben1.662Fritz15.09.04 21:55
Re: Anwendungsordner freigeben1.393WaldiMaywood15.09.04 22:21
Re: Anwendungsordner freigeben1.409Fritz16.09.04 08:05
Re: Anwendungsordner freigeben1.484WaldiMaywood16.09.04 18:24
Re: Anwendungsordner freigeben1.460Fritz16.09.04 18:53
Re: Anwendungsordner freigeben1.463WaldiMaywood16.09.04 19:06
Re: Anwendungsordner freigeben1.447Fritz16.09.04 20:02
Re: Anwendungsordner freigeben1.373WaldiMaywood16.09.04 20:10
Re: Anwendungsordner freigeben EDIT1.410WaldiMaywood16.09.04 20:20
Re: Anwendungsordner freigeben1.489Fritz16.09.04 20:56
Re: Anwendungsordner freigeben1.631WaldiMaywood16.09.04 21:45
Re: Anwendungsordner freigeben1.443Fritz16.09.04 21:52
Re: Anwendungsordner freigeben1.374WaldiMaywood17.09.04 12:45
Re: Anwendungsordner freigeben1.407Fritz17.09.04 17:20
Re: Anwendungsordner freigeben1.469WaldiMaywood20.09.04 08:56
Re: Anwendungsordner freigeben1.419Fritz20.09.04 11:31
Re: Anwendungsordner freigeben1.495WaldiMaywood26.09.04 00:58
Re: Anwendungsordner freigeben1.399Fritz26.09.04 09:14
Re: Anwendungsordner freigeben1.421WaldiMaywood26.09.04 14:46
Re: Anwendungsordner freigeben1.405Fritz26.09.04 15:27

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel