做旅游网站用什么颜色,网站技术招标怎么做,asp网站代码,企业网站建设合同范本写在前面
Windows Management Instrumentation#xff08;WMI#xff09;是用于管理基于 Windows 操作系统的数据和操作的基础结构。具体的API可以查看 WMI编程手册。
WMIC 是WMI的命令行管理工具#xff0c;使用 WMIC#xff0c;不但可以管理本地计算机#xff0c;还可…写在前面
Windows Management InstrumentationWMI是用于管理基于 Windows 操作系统的数据和操作的基础结构。具体的API可以查看 WMI编程手册。
WMIC 是WMI的命令行管理工具使用 WMIC不但可以管理本地计算机还可以管理同一Windows域内的所有远程计算机需要必要的权限而被管理的远程计算机可以不预先安装WMIC只需要支持WMI即可。WMIC 通过 WMIC.exe 实现了分析、解释并执行来自命令行的参数别名Alias的引擎这个文件通常位于 C:\Windows\System32\wbem文件夹中支持Windows XP和Windows2003及以后的系统。
命令行示例wmic cpu get name 查看CPU信息 在.net core中使用需要从NuGet安装 System.Management 包而在.net framework直接引用即可。
代码实现 using System.Management;public class Program
{public static void Main(string[] args){//创建WQL事件查询监视进程开启var qCreate new WqlEventQuery(__InstanceCreationEvent, TimeSpan.FromSeconds(1), TargetInstance ISA Win32_Process);//创建WQL事件查询监视进程关闭var qDelete new WqlEventQuery(__InstanceDeletionEvent, TimeSpan.FromSeconds(1), TargetInstance ISA Win32_Process);// 指定名称的查询语句// TargetInstance ISA Win32_Process AND TargetInstance.Name Notepad.exe//创建事件查询的侦听器(ManagementEventWatcher)var wCreate new ManagementEventWatcher(qCreate);var wDelete new ManagementEventWatcher(qDelete);// 注册启动事件wCreate.EventArrived (sender, e) {Console.WriteLine(开启进程{0}, GetInfo(e.NewEvent));};// 注册关闭事件wDelete.EventArrived (sender, e) {Console.WriteLine(关闭进程{0}, GetInfo(e.NewEvent));};//开始异步侦听wCreate.Start();wDelete.Start();Console.ReadLine();}/// summary/// 输出事件对应的ManagementBaseObject本例中的Win32_Process实例的信息/// /summaryprivate static string GetInfo(ManagementBaseObject obj){var instance (ManagementBaseObject)obj[TargetInstance];return string.Format({0} - {1} - {2}, instance[Name], instance[ProcessId], DateTime.Now);}}调用示例 稍加修改一下就可以用来实现一个守护进程具体用途应该都懂得。