C# 원격 공유 잠금 폴더 액세스
첫 번째:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace ManageCenter
{
public class ConnShareRes
{
private string userName;
private string userPwd;
private string shareResDictionary;
//构造函数
public ConnShareRes(string myUserName, string myUserPwd, string myShareResDictionary)
{
this.userName = myUserName;
this.userPwd = myUserPwd;
this.shareResDictionary = myShareResDictionary;
}
[StructLayout(LayoutKind.Sequential)]
public struct NETRESOURCEA
{
public int dwScope;
public int dwType;
public int dwDisplayType;
public int dwUsage;
[MarshalAs(UnmanagedType.LPStr)]
public string lpLocalName;
[MarshalAs(UnmanagedType.LPStr)]
public string lpRemoteName;
[MarshalAs(UnmanagedType.LPStr)]
public string lpComment;
[MarshalAs(UnmanagedType.LPStr)]
public string lpProvider;
public override String ToString()
{
String str = "LocalName: " + lpLocalName + " RemoteName: " + lpRemoteName + " Comment: " + lpComment + " lpProvider: " + lpProvider;
return (str);
}
}
[DllImport("mpr.dll")]
public static extern int WNetAddConnection2([MarshalAs(UnmanagedType.LPArray)] NETRESOURCEA[] lpNetResource, [MarshalAs(UnmanagedType.LPStr)] string lpPassword, [MarshalAs(UnmanagedType.LPStr)] string UserName, int dwFlags);
[DllImport("mpr.dll")]
public static extern int WNetCancelConnection2(string lpName, int dwFlags, bool fForce);
//开始远程连接
public bool RemoteConnect(bool bConnected)
{
int res;
NETRESOURCEA[] n = new NETRESOURCEA[1];
n[0] = new NETRESOURCEA();
n[0].dwType = 1;
int dwFlags = 1; // CONNECT_INTERACTIVE;
//n[0].lpLocalName = @"X:";
n[0].lpLocalName = @"";
n[0].lpRemoteName = shareResDictionary;
//n[0].lpRemoteName = @"";
n[0].lpProvider = null;
//Console.WriteLine(n[0]);
if (bConnected)
{
res = WNetAddConnection2(n, userPwd, userName, dwFlags);
}
else
{
res=WNetCancelConnection2(shareResDictionary, 1, true);
}
return (res == 0) ? true : false;
}
}//class
}//namespace
두 번째:
using System;
using System.Management;
class Sample_ConnectionOptions
{
public static int Main(string[] args) {
ConnectionOptions options = new ConnectionOptions();
options.Username = 用户名; //could be in domain\user format
options.Password = 密码;
ManagementScope scope = new ManagementScope(
"\\\\servername\\root\\cimv2",
options);
try {
scope.Connect();
ManagementObject disk = new ManagementObject(
scope,
new ManagementPath("Win32_logicaldisk='c:'"),
null);
disk.Get();
}
catch (Exception e) {
Console.WriteLine("Failed to connect: " + e.Message);
}
return 0;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bootstrap 3.0 학습 1 라운드 (입문)홈 페이지 의 파일 은 상세 하고 간단 하 며 다운로드 에 도 다양한 방식 이 있다.우리 개발 자 에 게 가장 쉬 운 방법 은 컴 파일 과 압축 된 CSS, JavaScript 파일 을 직접 다운로드 하 는 것 입 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.