never tried, but I think you need to use P/Invoke and WNetEnumResource , WNetAddConnection* and WNetCancelConnection* API to do the job

解决方案 »

  1.   

    查.using System.Management;ObjectQuery objectQuery = new ObjectQuery("select * from Win32_Share");//share object ManagementObjectSearcher searcher =new ManagementObjectSearcher(objectQuery);
    txtMsg.Text="";
    PropertyDataCollection pdc;
    foreach (ManagementObject share in searcher.Get())
    {
    pdc=share.Properties;
    txtMsg.Text+="======================================"+"\r\n";
    txtMsg.Text+=share.Path+"\r\n";
    foreach(PropertyData pd in pdc)
    {
    txtMsg.Text+=pd.Name+"="+pd.Value+"\r\n";
    }
    }取消我也想知道.
      

  2.   

    下面的代码示例使用 System.Management 集合类枚举计算机上的环境变量。由于此示例从本地计算机获取信息,因此示例中的某些参数可保留为默认值。此示例返回指定类 (Win32_Environment) 的所有对象的集合。在检索集合之后,代码使用 foreach 语句枚举集合中的所有元素,并显示集合中每个变量的名称和值。熟悉 WMI 的脚本 API 的开发人员将注意到一些相似性。这里显示了两个不同的变体:第一个使用 ManagementObjectSearcher 类,用于实质上表示完全枚举的最简单形式的查询;第二个获取 Win32_Environment 的类对象并使用 GetInstances() 方法枚举其实例。[C#]
    using System;
    using System.Management;// This example demonstrates how to perform a synchronous instance enumeration.public class EnumerateInstances {
        public static int Main(string[] args) {
          // Build a query for enumeration of Win32_Environment instances
          SelectQuery query = new SelectQuery("Win32_Environment");      // Instantiate an object searcher with this query
          ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);       // Call Get() to retrieve the collection of objects and loop through it
          foreach (ManagementBaseObject envVar in searcher.Get())
             Console.WriteLine("Variable : {0}, Value = {1}", 
                envVar["Name"],envVar["VariableValue"]);
          return 0;
        }
    }
    [Visual Basic]
    Imports System
    Imports System.Management
    ' This example demonstrates how to perform a synchronous instance enumeration.Public Class EnumerateInstances  
       Overloads Public Shared Function Main(args() As String) As Integer
          ' Build a query for enumeration of Win32_Environment instances
          Dim query As New SelectQuery("Win32_Environment")      ' Instantiate an object searcher with this query
          Dim searcher As New ManagementObjectSearcher(query)      ' Call Get() to retrieve the collection of objects and loop through it
          Dim envVar As ManagementBaseObject
          For Each envVar In  searcher.Get()
             Console.WriteLine("Variable : {0}, Value = {1}", _
                envVar("Name"), envVar("VariableValue"))
          Next envVar
          Return 0
       End Function 
    End Class
    对管理信息的访问经常发生在分布式环境中,并且可能涉及大量的数据。为支持此情况,也可以异步执行管理操作。下一个示例说明如何以异步编码模式枚举计算机上的所有服务。用于异步调用操作的方法是同步方法的重载,它带一个用于处理结果回调的 ManagementOperationObserver 类型的附加参数。此对象定义用于通知结果和完成的事件,您将向这些事件预订在引发它们时所执行的处理程序。[C#]
    using System;
    using System.Management;// This example demonstrates how to perform an asynchronous instance enumeration.public class EnumerateInstancesAsync {
        public static int Main(string[] args) {
          //Enumerate asynchronously using Object Searcher
          //===============================================      //Instantiate an object searcher with the query
          ManagementObjectSearcher searcher = 
             new ManagementObjectSearcher(new SelectQuery("Win32_Service"));       // Create a results watcher object, and handler for results and completion
          ManagementOperationObserver results = new ManagementOperationObserver();
          ObjectHandler objectHandler = new ObjectHandler();      // Attach handler to events for results and completion
          results.ObjectReady += new ObjectReadyEventHandler(objectHandler.NewObject);
          results.Completed += new CompletedEventHandler(objectHandler.Done);      //Call the asynchronous overload of Get() to start the enumeration
          searcher.Get(results);
             
          //Do something else while results arrive asynchronously
          while (!objectHandler.IsCompleted) {
             System.Threading.Thread.Sleep (1000);
          }      objectHandler.Reset();
          return 0;
       }
       //Handler for asynchronous results
       public class ObjectHandler {
          private bool isCompleted = false;      public void NewObject(object sender, ObjectReadyEventArgs obj) {
             Console.WriteLine("Service : {0}, State = {1}", 
                obj.NewObject["Name"], obj.NewObject["State"]);
          }      public bool IsCompleted {
             get { 
                return isCompleted;
             }
          }
          
          public void Reset()   {
             isCompleted = false;
          }      public void Done(object sender, CompletedEventArgs obj) {
             isCompleted = true;
          }
       }
    }
      

  3.   

    : chinchy(人民需要人民币) 
    select * from Win32_Share 有这个环境变量吗?如果有应该有对应的操作的原来看见过对磁盘操作的实现可以在ManagementObjectopration 类里面调用invoke函数传递命令比如(fromart)来实现 不知道Win32_Share 用什么命令来添加取消共享不知道上面的代码在那里看到的可以告诉吗?
     分数一定给你
      

  4.   

    问题已经解决了ManagementObject.invokmeathod("delte,null);
    ManagementObject.invokmeathod("create',null);可以实现