C#与ScriptCenter
来源:互联网 发布:阿里云 ip 代理 编辑:程序博客网 时间:2024/06/08 14:01
知识果然是相通的,以前玩脚本的学到的知识果然还是可以在 C#中被应用。
举个例子,比如说枚举各硬盘分区空闲容量。其实如果只是为了满足自己的好奇心的话用Notepad写个vbs脚本就行了。去下载个ScrpitCenter,里面几乎能想到的都有了。
Const HARD_DISK = 3
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!//" & strComputer & "/root/cimv2")
Set colDisks = objWMIService.ExecQuery _
("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK & "")
For Each objDisk in colDisks
Wscript.Echo "DeviceID: "& vbTab & objDisk.DeviceID
Wscript.Echo "Free Disk Space: "& vbTab & objDisk.FreeSpace
Next
现在问题是,假如C#的程序中要集成这个功能,那又该怎么处理呢?
首先需要肯定,C#对WMI提供了支持。当然我们要添加一个引用,System.Management.dll。编码时也要using它。
后续的代码很好理解,照猪画砍了鼻子的大象就行了。
ManagementObjectSearcher query;
ManagementObjectCollection queryCollection;
string sql = "Select * from Win32_LogicalDisk Where DriveType = 3";
query = new ManagementObjectSearcher(sql);
queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
...{
MessageBox.Show(String.Format("{0}空闲 {1}", mo["DeviceID"].ToString(), mo["FreeSpace"].ToString()));
}
ManagementObjectCollection queryCollection;
string sql = "Select * from Win32_LogicalDisk Where DriveType = 3";
query = new ManagementObjectSearcher(sql);
queryCollection = query.Get();
foreach (ManagementObject mo in queryCollection)
...{
MessageBox.Show(String.Format("{0}空闲 {1}", mo["DeviceID"].ToString(), mo["FreeSpace"].ToString()));
}
mo的属性正好ScriptCenter里面都告诉我们了。
另外还有一类情况,两边分别提供不同的方法。
比如往AD里添加新用户,vbs可以直接GetObject("LDAP://......"),但C#就有现成的类了,DirectoryEntry。但即便这样vbs的脚本还是有参考价值的,有哪些属性,具体怎么拼写等都可以参考。当然最好还是查MSDN,不过实再想偷懒的话参考ScriptCenter给出的例子也够了。
我也想过,实在不行,干脆动态生成个脚本文件,然后让C# Process.Start调用。不过仅限于想想而已,目前还真没发现有这么实现的必要。
条条道路通罗马,选一条自己喜欢的吧。
- C#与ScriptCenter
- scriptCenter微软脚本帮助中心
- C# 与 Excel
- C#与JAVA
- c# 委托与事件
- 二、Java与 C#
- 关于c#与Java
- c#与C++
- c#与windows
- C#与存储过程
- c# 委托与多线程
- JAVA与C#
- C#委托与事件
- java与C#异常
- C#与Excel编程
- c#与javascript互访
- C# 与EXCEL
- C#与sqlServer数据库连接
- 读写xml文件的2个小函数
- gcc使用入门
- 国际:Ruby在企业级应用的六大弊端
- c#如何读写xml文件
- Asp.Net(C#)利用XPath解析XML文档示例
- C#与ScriptCenter
- 在ASP.NET中绑定XML数据
- 威客理论看维基经济学的三个漏洞
- 软件开发组织的web2.0模式
- 比尔盖茨给刚毕业程序员的10点忠告(转)
- 冷眼看“艾艾提”炮轰“洪波”“老牛”
- 国家标准前置是战略失误
- IBM表示无意竞购雅虎 收购锁定中小型企业
- 美国政府禁止Google Earth制作军事建筑视频地图