WEB开发网
开发学院软件开发VC WMI(Windows管理规范)的一个实现 阅读

WMI(Windows管理规范)的一个实现

 2006-07-20 11:39:52 来源:WEB开发网   
核心提示: 要创建一个进程,我们需要调用ManagementClass 的InvokeMethod ()方法,WMI(Windows管理规范)的一个实现(7),我们可以这么创建一个ManagementClass对象:ManagementClass processClass = New Manageme

要创建一个进程,我们需要调用ManagementClass 的InvokeMethod ()方法。我们可以这么创建一个ManagementClass对象:

ManagementClass processClass = New ManagementClass(ms,path,null);

其中的ms是一个ManagementScope对象,path是一个ManagementPath对象。ManagementScope对应了一个管理操作对应的范围。ManagementPath则提供了一个对Win32_Process进行解析与创建的封装。在调用ManagementClass.InvokeMethod(observer, methodName, inParameters)之前,我们还需要做点其他的准备。我们得把四个传入参数封装到一个object数组里。

uint32 Create(string CommandLine,
        string CurrentDirectory,
        Win32_ProcessStartup ProcessStartupInformation,
        uint32* ProcessId);

参数说明

  • CommandLine - [传入] 要执行的命令行。如果有必要,系统会自动在末尾追加一个null字符来截断该串,表示真正要执行的文件。
  • CurrentDirectory - [传入] 子进程的当前驱动器与当前目录。这个串必须保证当前目录能解析到一个已知的路径。用户可以定义一个绝对的或相对的路径作为当前的工作目录。如果该参数为null,新创建的进程就会使用父进程的同一路径。这样做是主要是为了保证操作系统外壳能确定应用程序启动的初始驱动器和工作目录。
  • ProcessStartupInformation - [传入] 这是一个Windows进程的启动配置,请参见Win32_ProcessStartup.
  • ProcessId - [传出] 一个全局的用于标识进程的标识符。这个值的生存期自进程创建时起,至进程终结时止。
//为InvokeMethod()准备参数
object[] methodArgs = {stringCommandLine, null, null, 0};
//执行这个方法
processClass.InvokeMethod (observer, "Create", methodArgs);

下面是创建进程的实现代码。我编写了一个CreateProcess()函数接受一个传入的命令行字符串stringCommandLine作为参数。当你调用CreateProcess("Calc.exe")时,就意味着创建了一个新的计算器的进程。就这么简单。

上一页  2 3 4 5 6 7 8  下一页

Tags:WMI Windows 管理规范

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接