如何从Windows CE应用程序的VB中的网络共享中复制文件

西尔马拉

我正在使用vb.net做一个应用程序。

我需要的是从Windows ce设备访问我的计算机(win 8)并将一个文件复制到Windows ce设备。我已经做了,但是现在我需要的是一种传递用户,密码和域的方法。我已经研究并找到了使用System.Security.WindowsImpersonationContext的解决方案,所以我认为类似于Windows CE应用程序的某些解决方案。

很抱歉,如果您听不懂我说的话,但是我是编程新手,英语不是我的母语。

在此先感谢您的帮助

克拉克

您可以使用SDFMapDrive中的Network方法由于它非常简单,因此该方法的来源如下(我将其交给VB):

public static void MapDrive(IntPtr hwnd, string netRes, string shareName, string userName, string password)
{
    NETRESOURCE NetRes = new NETRESOURCE();         
    NetRes.dwScope = RESOURCE_GLOBALNET | RESOURCE_REMEMBERED;
    NetRes.dwType = RESOURCETYPE_DISK;
    NetRes.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE;
    NetRes.dwUsage = RESOURCEUSAGE_CONNECTABLE;
    NetRes.lpRemoteName = Marshal2.StringToHGlobalUni(netRes);
    NetRes.lpLocalName = Marshal2.StringToHGlobalUni(shareName);
    NetRes.lpComment = IntPtr.Zero;
    NetRes.lpProvider = IntPtr.Zero;

    int ret = WNetAddConnection3(hwnd, NetRes, password, userName, 1);

    if (ret != 0)
    {
        throw new System.ComponentModel.Win32Exception(ret, ((NetworkErrors)ret).ToString());
    }

}

private class NETRESOURCE
{
    public int dwScope;
    public int dwType;
    public int dwDisplayType;
    public int dwUsage;
    public IntPtr lpLocalName;
    public IntPtr lpRemoteName;
    public IntPtr lpComment;
    public IntPtr lpProvider;
}

[DllImport("coredll.dll")]
private static extern int WNetAddConnection3(
    IntPtr hwndOwner, 
    NETRESOURCE lpNetResource, 
    string lpPassword, 
    string lpUserName, 
    int dwFlags);

const int RESOURCE_GLOBALNET  =    0x00000002;
const int RESOURCE_REMEMBERED =    0x00000003;
const int RESOURCETYPE_DISK  =     0x00000001;
const int RESOURCEDISPLAYTYPE_SHARE     =     0x00000003;
const int  RESOURCEUSAGE_CONNECTABLE =  0x00000001;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从网络共享复制文件时,Virtualbox中的Windows显示错误Ex80070057

如何在网络共享中递归搜索文件?

如何获得Dash镜头以查看网络共享中的文件?

在Windows 7中如何断开与网络共享的连接?

网络共享如何在 Windows 10 中工作?

当我没有父文件夹的读取权限时,如何从网络共享中复制文件?

如何列出Windows SMB网络共享中的所有文件

在Windows 7中显示连接的网络共享(甚至是未映射的网络共享)

如何使用VB从Windows窗体应用程序在Outlook中创建文件夹

使用Samba挂载的Windows网络共享中缺少文件夹

如何在 .NET Core 中访问网络共享文件夹

如何正确找出WSL和Windows 10中用于网络共享目录的IP地址?

如何从Windows 7中经过提升的进程访问网络共享?

如何在Netbeans中打开网络共享项目

如何访问海豚中的本地网络共享?

如何阻止网络共享中的IP地址

如何在终端中列出网络共享项目

如何使用带有凭据的网络共享路径作为asp.net core中的静态文件文件夹

如何使用PowerShell将本地文件和路径复制到网络共享?

Windows应用程序中的Sql Compact 4导致文件共享错误

将Windows安装程序文件夹移动到网络共享驱动器?

在Windows RT应用程序中复制或打开外部文件

如何将SQL Server BCP查询结果保存到本地网络共享文件夹中?

在用户的计算机上,如何从用户没有访问权限的网络共享中检索文件

如何存储从网络接收的图像并将其显示在Windows Phone 7应用程序中

如何在Web Java应用程序中定义Windows安全网络凭据?

Windows家庭网络中的Web应用程序

如何在Windows的松弛应用程序中复制工作区URL?

如何仅将一个窗口/应用程序共享给网络中的其他用户?