C# 检查共享路径在pc中是否可用

C# 检查共享路径在pc中是否可用,c#,.net,compact-framework,C#,.net,Compact Framework,我在.net compact framework 3.5中工作。我正在开发一个应用程序。Pocket PC设备应连接到本地PC。用户可以在本地PC中创建共享文件夹,并可以从将文件发送到共享文件夹。我要求用户在我的应用程序中输入共享文件夹路径,文件夹格式为(\shared PC Name\FolderName)。我需要检查用户输入的共享文件夹路径是否存在于本地PC中。我需要使用代码将文件发送到该本地PC共享文件夹。我不知道如何检查用户输入的文件夹名称是否存在于本地PC中 请帮我做这件事 谢谢

我在.net compact framework 3.5中工作。我正在开发一个应用程序。Pocket PC设备应连接到本地PC。用户可以在本地PC中创建共享文件夹,并可以从将文件发送到共享文件夹。我要求用户在我的应用程序中输入共享文件夹路径,文件夹格式为(\shared PC Name\FolderName)。我需要检查用户输入的共享文件夹路径是否存在于本地PC中。我需要使用代码将文件发送到该本地PC共享文件夹。我不知道如何检查用户输入的文件夹名称是否存在于本地PC中

请帮我做这件事

谢谢

        string testString = "C:\temp";

        DirectoryInfo di = new DirectoryInfo(testString);
        if (di.Exists) return true;

我只能假设System.IO存在于compact framework中,并且它具有.exists函数。

您必须使用pocketpc中的Wnet API并尝试连接到共享资源。有

a) PocketPC上没有驱动器号

b) 没有API来检查共享的存在

要尝试连接,请使用

DWORD WNetAddConnection3(HWND hwndOwner, LPNETRESOURCE
   lpNetResource, LPCWSTR lpPassword, LPCWSTR lpUserName,
   DWORD dwFlags);
LPNETRESOURCE为:

typedef struct _NETRESOURCE {
   DWORD dwScope;
   DWORD dwType;
   DWORD dwDisplayType;
   DWORD dwUsage;
   LPWSTR lpLocalName;
   LPWSTR lpRemoteName;
   LPWSTR lpComment;
   LPWSTR lpProvider;
} NETRESOURCE, *LPNETRESOURCE;
在PC上类似。您可以浏览远程主机或输入共享资源的URI,但没有API来检查共享资源的存在。您可以在PC上发出NET VIEW命令,列出给定域、工作组或主机共享的资源

您可以使用wnetopeneum获取共享资源的列表,并查看结果中是否存在资源:

OpenNetCF为您提供了一个.net功能:

/// <summary>
/// Enumerates network resources.
/// </summary>
/// <param name="remoteName">The name of the server</param>
/// <returns>Array of NetworkResource class</returns>
public static NetworkResource[] GetNetworkResources(string remoteName)
//
///枚举网络资源。
/// 
///服务器的名称
///NetworkResource类的数组
公共静态网络资源[]GetNetworkResources(字符串remoteName)
它是OpenNETCF.Net命名空间的一部分。因此,您不需要为所需的wnetapi调用编写自己的p/invoke

另见