怎样共享一个文件夹?

ju_feng 2002-12-29 03:42:21
如何查处本机内的所有共享文件夹并且可以取消这些文件夹的共享

也包括IPC$ admin$等共享
...全文
736 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ju_feng 2003-01-02
  • 打赏
  • 举报
回复
问题已经解决了

ManagementObject.invokmeathod("delte,null);
ManagementObject.invokmeathod("create',null);

可以实现
ju_feng 2003-01-01
  • 打赏
  • 举报
回复
: chinchy(人民需要人民币)
select * from Win32_Share 有这个环境变量吗?

如果有应该有对应的操作的

原来看见过对磁盘操作的实现可以在ManagementObjectopration 类里面调用

invoke函数传递命令比如(fromart)来实现 不知道Win32_Share 用什么命令来添加取消共享

不知道上面的代码在那里看到的

可以告诉吗?
分数一定给你
snewxf 2003-01-01
  • 打赏
  • 举报
回复
关注!
GiantHard 2002-12-31
  • 打赏
  • 举报
回复
下面的代码示例使用 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;
}
}
}
chinchy 2002-12-31
  • 打赏
  • 举报
回复
查.

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";
}
}

取消我也想知道.
coollzh 2002-12-29
  • 打赏
  • 举报
回复
用wmi试试
saucer 2002-12-29
  • 打赏
  • 举报
回复
never tried, but I think you need to use P/Invoke and WNetEnumResource , WNetAddConnection* and WNetCancelConnection* API to do the job

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧