tags:

views:

1506

answers:

2

How do I convert a path with a drive letter like W:\Path\Share to the equivalent unc path like \\server\Share\File in .Net?

At the command prompt you can run net use and that will list the mappings. How do I get at that info in .Net?

+3  A: 

You can use P/Invoke and call on a native function such as this.

On Freund
The WNetGetUniversalName function takes a drive-based path for a network resource and returns an information structure that contains a more universal form of the name.This only works for paths that you have already shared. It doesn't seem to work for local paths. ie if you are sharing d:\shared as \\mymachine\shared and you call WNetGetUniversalName it fails.
GrendleM
+1  A: 

To get a list of the shared folders on the current machine in .NET you have to options:

Note that the calling process will have run in the context of a user with administrative privileges for this to work.

Enrico Campidoglio