网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
如何在C# 中使用WMI 实现远程查询和共享
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式
nbsp;   Win32_Share 类,此 WMI 类共有三个方法它们是:Create,Delete,SetShareInfo我们只讲讲其中的一个Create方法,其余两个和其它 WMI 类的方法调用方式是一样的。

其中 Create 方法说明如下:

int Create

(     String SharePath; //共享路径,你要把那个路径共享

String ShareName; //共享后,访问时的标示名称

Int    ShareType; //共享类型,一般赋 0 即可,表示磁盘共享

Int    MaxUsers; //最大用户数

String Description; //描述

String PassWord; //访问密码

返回 0 表示成功创建共享。下面的程序创建共享后,只有点击右键后查看共享才能看见此文件夹已经共享,不然是看不出来的。就形如 C$ 形式,系统级共享。

private void RemoteShare_Click(object sender, System.EventArgs e)

{   //连接远程计算机,我们要想对其进行操作,必须先连接上

    ConnectionOptions Myconnect = new ConnectionOptions();

    Myconnect.Username = "ZhangDong";

    Myconnect.Password = "1234";

  ManagementPath RemoteNameSpace = new ManagementPath("\\\\ServerName\\root\\cimv2");  

ManagementScope Myscope = new ManagementScope(RemoteNameSpace,Myconnect);

    //先连接上要引用的 WMI 类在这里我们引用 Win32_Share 类

ManagementPath SharePath = new ManagementPath("Win32_Share");

 

ObjectGetOptions otherOption =  new ObjectGetOptions(null,new

TimeSpan(0,0,10) ,true);

ManagementClass _processClass = new ManagementClass(Myscope, SharePath,

otherOption);

object sharea = {"C:\\Program Files","我的共享",0,10,"Dot Net 实现的共享",""};

object result = _processClass.InvokeMethod ("Create", sharea);

MessageBox(0,"返回的值是:" + result.ToString() + " 共享名称:" + sharea,"共享信息",0); }

针对上面的程序我们需要注意的一点就是,参数的传递形式,我们采用的是下面这种形式

 object sharea = {"C:\\Program Files","我的共享",0,10,"Dot Net 实现的共享",""};

这个数组代表的是方法中传递的参数, WMI 类中其它的方法调用都可以参照着这种形式.

比如前面我们讲的,列举所有开启的进程时,如果我们想远程关闭某个开启的进程,我们需要用下面的代码来实现:

foreach (ManagementObject service in queryCollection1)

    {  //判断是否开启了delphi 程序,如果是,关闭它

if (service["Name"].ToString()=="delphi32.exe")

        {

            string Tparas = {"0"}; //参数数组

            service.InvokeMethod("Terminate", Tparas); //终止方法的调用

        }  

        //列举所有进程的名字,和此应用程序的路径,当然还有其它一些属性,只不过这//里没有列举出来

listBox1.Items.Add("Service: " + service["Name"] + " FilePath: " + service["ExecutablePath"]);

}

 

总结:

关于 WMI 还有许多其它的功能,我希望通过本文大家能够对 .NET 中的Windows 管理有所了解。同时也希望爱好 C# 的朋友们互相多多交流经验

  • 上一篇资讯: c#中的接口介绍
  • 下一篇资讯: C#里使用指针
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号