Home All Groups Group Topic Archive Search About

How to select a network folder?

Author
22 Dec 2006 8:25 PM
Robert Dufour
I'm looking at the folder selection dialog in Vs2005 but there does not seem
to be a selction that allows navigating the network neighborhood. I need my
user to be able to select a folder on the network without using shares.

Any help would be appreciated
Bob

Author
22 Dec 2006 8:33 PM
vbnetdev
Console app but should get you started....

Imports System.Runtime.InteropServices

Module Module1

Structure Computer_info_101

Public Platform_ID As Integer

<MarshalAsAttribute(UnmanagedType.LPWStr)> Public Name As String

Public Version_Major As Integer

Public Version_Minor As Integer

Public Type As Integer

<MarshalAsAttribute(UnmanagedType.LPWStr)> Public Comment As String

End Structure

Declare Unicode Function NetServerEnum Lib "Netapi32.dll" _

(ByVal Servername As Integer, ByVal level As Integer, _

ByRef buffer As Integer, ByVal PrefMaxLen As Integer, _

ByRef EntriesRead As Integer, ByRef TotalEntries As Integer, _

ByVal ServerType As Integer, ByVal DomainName As String, _

ByRef ResumeHandle As Integer) As Integer

Declare Function NetApiBufferFree Lib "Netapi32.dll" _

(ByVal lpBuffer As Integer) As Integer

Private Const SV_TYPE_SERVER As Integer = &H2 ' All Servers

Sub Main()

Dim ComputerInfo As Computer_info_101

Dim i, MaxLenPref, level, ret, EntriesRead, TotalEntries, ResumeHandle As
Integer

Dim BufPtr As Integer

Dim iPtr As IntPtr

MaxLenPref = -1

level = 101

ret = NetServerEnum(0, level, BufPtr, MaxLenPref, EntriesRead, TotalEntries,
_

SV_TYPE_SERVER, "MSHOME", ResumeHandle) ' Replace MSHOME with your workgroup
name

If ret <> 0 Then

Console.WriteLine("An Error has occured")

Return

End If



' loop thru the entries

For i = 0 To EntriesRead - 1

' copy the stuff into our structure

Dim ptr As IntPtr = New IntPtr(BufPtr)

computerInfo = CType(Marshal.PtrToStructure(ptr,
GetType(Computer_info_101)), _

Computer_info_101)

BufPtr = BufPtr + Len(ComputerInfo)

Console.WriteLine(computerInfo.Name)

Next

NetApiBufferFree(BufPtr)

Console.Write("Press Enter to End")

Dim s As String = Console.ReadLine()

End Sub





End Module

Show quoteHide quote
"Robert Dufour" <bduf***@sgiims.com> wrote in message
news:e$3JSegJHHA.1240@TK2MSFTNGP03.phx.gbl...
> I'm looking at the folder selection dialog in Vs2005 but there does not
> seem to be a selction that allows navigating the network neighborhood. I
> need my user to be able to select a folder on the network without using
> shares.
>
> Any help would be appreciated
> Bob
>
Author
22 Dec 2006 8:42 PM
vbnetdev
http://www.codeproject.com/cs/miscctrl/NetworkSelect.asp

this is c# but a place to start as well.


Show quoteHide quote
"Robert Dufour" <bduf***@sgiims.com> wrote in message
news:e$3JSegJHHA.1240@TK2MSFTNGP03.phx.gbl...
> I'm looking at the folder selection dialog in Vs2005 but there does not
> seem to be a selction that allows navigating the network neighborhood. I
> need my user to be able to select a folder on the network without using
> shares.
>
> Any help would be appreciated
> Bob
>