将文件复制到远程计算机

时间:2016-11-11 10:55:39

标签: vb.net

我创建了一个程序,它将从我的计算机复制到其他远程计算机的特定文件。我已成功完成此操作,但仅限于驱动程序C:\。我的问题是如何将文件复制到D:\驱动器?

我尝试添加 \ 157.60.113.28 \ D:\ testnew \ right.bmp ,但没有运气。让我知道!

Imports System 
Imports System.Runtime.InteropServices 
Imports System.Security.Principal 
Imports System.Security.Permissions 
Public Class Form1 
<DllImport("advapi32.DLL", SetLastError:=True)> _ 
Public Shared Function LogonUser(ByVal lpszUsername As String, ByVal lpszDomain As String, _ 
    ByVal lpszPassword As String, ByVal dwLogonType As Integer, ByVal dwLogonProvider As Integer, _ 
    ByRef phToken As IntPtr) As Integer 
End Function 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim admin_token As IntPtr 
    Dim wid_current As WindowsIdentity = WindowsIdentity.GetCurrent() 
    Dim wid_admin As WindowsIdentity = Nothing 
    Dim wic As WindowsImpersonationContext = Nothing 
    Try 
        MessageBox.Show("Copying file...") 
        If LogonUser("Local Admin name", "Local computer name", "pwd", 9, 0, admin_token) <> 0 Then 
            wid_admin = New WindowsIdentity(admin_token) 
            wic = wid_admin.Impersonate() 
            System.IO.File.Copy("C:\right.bmp", "\\157.60.113.28\testnew\right.bmp", True) 
            MessageBox.Show("Copy succeeded") 
        Else 
            MessageBox.Show("Copy Failed") 
        End If 
    Catch se As System.Exception 
        Dim ret As Integer = Marshal.GetLastWin32Error() 
        MessageBox.Show(ret.ToString(), "Error code: " + ret.ToString()) 
        MessageBox.Show(se.Message) 
    Finally 
        If wic IsNot Nothing Then 
            wic.Undo() 
        End If 
    End Try 
End Sub 
End Class 

1 个答案:

答案 0 :(得分:0)

您正在寻找的路径是:

\\157.60.113.28\D$\testnew\right.bmp 

如果您需要定期与远程计算机进行交互,最好将网络路径映射为计算机中的网络驱动器。

mapping network drive