a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#如何訪問共享文件夾或者磁盤

2019-10-29 21:01:48
字體:
來源:轉載
供稿:網友

本文實例為大家分享了C#訪問共享文件夾或者磁盤的具體代碼,供大家參考,具體內容如下

SharedTool:

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using System.Runtime.InteropServices;    namespace ConsoleApplication5  {    public class SharedTool : IDisposable    {      // obtains user token         [DllImport("advapi32.dll", SetLastError = true)]      static extern bool LogonUser(string pszUsername, string pszDomain, string pszPassword,        int dwLogonType, int dwLogonProvider, ref IntPtr phToken);        // closes open handes returned by LogonUser         [DllImport("kernel32.dll", CharSet = CharSet.Auto)]      extern static bool CloseHandle(IntPtr handle);        [DllImport("Advapi32.DLL")]      static extern bool ImpersonateLoggedOnUser(IntPtr hToken);        [DllImport("Advapi32.DLL")]      static extern bool RevertToSelf();      const int LOGON32_PROVIDER_DEFAULT = 0;      const int LOGON32_LOGON_NEWCREDENTIALS = 9;//域控中的需要用:Interactive = 2         private bool disposed;        public SharedTool(string username, string password, string ip)      {        // initialize tokens           IntPtr pExistingTokenHandle = new IntPtr(0);        IntPtr pDuplicateTokenHandle = new IntPtr(0);          try        {          // get handle to token             bool bImpersonated = LogonUser(username, ip, password,            LOGON32_LOGON_NEWCREDENTIALS, LOGON32_PROVIDER_DEFAULT, ref pExistingTokenHandle);            if (bImpersonated)          {            if (!ImpersonateLoggedOnUser(pExistingTokenHandle))            {              int nErrorCode = Marshal.GetLastWin32Error();              throw new Exception("ImpersonateLoggedOnUser error;Code=" + nErrorCode);            }          }          else          {            int nErrorCode = Marshal.GetLastWin32Error();            throw new Exception("LogonUser error;Code=" + nErrorCode);          }        }        finally        {          // close handle(s)             if (pExistingTokenHandle != IntPtr.Zero)            CloseHandle(pExistingTokenHandle);          if (pDuplicateTokenHandle != IntPtr.Zero)            CloseHandle(pDuplicateTokenHandle);        }      }        protected virtual void Dispose(bool disposing)      {        if (!disposed)        {          RevertToSelf();          disposed = true;        }      }        public void Dispose()      {        Dispose(true);      }    }  } 

 案例:

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using System.IO;    namespace ConsoleApplication5  {    class Program    {      static void Main(string[] args)      {        using (SharedTool tool = new SharedTool("administrator", "12345678", "192.168.1.101"))        {          string selectPath = @"//192.168.1.101/c$";            var dicInfo = new DirectoryInfo(selectPath);//選擇的目錄信息            DirectoryInfo[] dic = dicInfo.GetDirectories("*.*", SearchOption.TopDirectoryOnly);          foreach (DirectoryInfo temp in dic)          {            Console.WriteLine(temp.FullName);          }            Console.WriteLine("---------------------------");          FileInfo[] textFiles = dicInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly);//獲取所有目錄包含子目錄下的文件          foreach (FileInfo temp in textFiles)          {            Console.WriteLine(temp.Name);          }        }        Console.ReadKey();      }    }  }  

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美激情在线观看 | 日韩欧美国产精品 | 一区二区日韩精品 | 久久午夜综合久久 | 久久久亚洲一区 | 亚洲精品91 | 久久精品这里热有精品 | 久久小视频| 久久久久久久av | 久草在线视频网 | 日本大片在线观看 | 久久免费精品视频 | 国产精品一区二 | 久久99精品久久久久蜜臀 | 欧美一区二区三区 | 青草青在线视频 | 亚洲xxxx在线观看 | 国产中文区二幕区2012 | 韩国精品主播一区二区在线观看 | 色婷婷亚洲 | 日韩午夜影院 | 国产一区二区三区精品久久久 | www.亚洲区 | 久久av黄色 | 亚洲欧洲精品成人久久奇米网 | 国产精品午夜电影 | 日韩在线视频中文字幕 | 国产精品久久久久国产a级 久久国产精品精品 | 亚洲激情一区二区 | 亚洲少妇视频 | 黄色在线免费观看 | 国产一区 | 午夜操操 | 91在线视频免费观看 | 国产精品视频一区二区三区, | 国产成人在线免费观看 | www.狠狠干 | 97在线免费观看 | 亚洲成人av一区二区 | 精品视频一区二区 | 国产精品久久久久久亚洲调教 |