哪个 ActiveX 控件(*.ocx 文件)处理 WMI?
Which ActiveX control (*.ocx file) handles WMI?
昨天我问了。
虽然它工作正常,但我想知道为什么我不简单地使用 WMI API 来代替:如 this webpage about WMI API 中所述,这对于 Windows 相关的编程环境是可能的,处理ActiveX 对象(请参阅“开发人员受众”一章)。
我在 OpenEdge Progress-4GL 11.6 版中使用 AppBuilder 工作。这使得在 window 上添加 ActiveX 控件成为可能,但可用控件列表未提及任何 WMI(或 Windows 管理)相关控件,因此我假设我需要在我的电脑(或下载它),这是问题:
哪个 *.ocx 文件包含 WMI API(以及如何使用它)?
在对第一个答案发表评论后进行编辑:Appbuilder 的“工具”菜单
这是我的 AppBuilder 的“工具”菜单的样子:
提前致谢
多米尼克
首先,正如迈克所说,不要费心去走 ocx 路。
System.Management.ManagementScope class 位于 .Net System.Management.dll。
要使用 .Net dll,需要将其添加到程序集中。
AppBuilder 用户重要通知
一些开发人员开始他们的开发,使用 AppBuilder(快捷方式,开始开发,包含 C:\Progressx86\OpenEdge\bin\prowin32.exe ... -p _ab.p ...
)。从这一点启动过程编辑器将不起作用,因为一些菜单项将会丢失。
为了解决这个问题,开始使用 C:\Progressx86\OpenEdge\bin\prowin32.exe
(不带任何参数)。这将启动程序编辑器,其中包含所需的菜单项。
使用 Progress Developer Studio for OpenEdge,您只需添加它,然后就可以使用它。通过 GUI 添加程序集会产生以下 assemblies.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<references>
<assembly name="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</references>
有了这个 assemblies.xml,您可以使用:
DEFINE VARIABLE oMgmtScope AS System.Management.ManagementScope NO-UNDO.
要在没有 Progress Developer Studio for OpenEdge 的情况下添加程序集,您可以使用程序编辑器,菜单项 [工具/程序集参考]:
之后您可以添加引用:
昨天我问了
虽然它工作正常,但我想知道为什么我不简单地使用 WMI API 来代替:如 this webpage about WMI API 中所述,这对于 Windows 相关的编程环境是可能的,处理ActiveX 对象(请参阅“开发人员受众”一章)。
我在 OpenEdge Progress-4GL 11.6 版中使用 AppBuilder 工作。这使得在 window 上添加 ActiveX 控件成为可能,但可用控件列表未提及任何 WMI(或 Windows 管理)相关控件,因此我假设我需要在我的电脑(或下载它),这是问题:
哪个 *.ocx 文件包含 WMI API(以及如何使用它)?
在对第一个答案发表评论后进行编辑:Appbuilder 的“工具”菜单
这是我的 AppBuilder 的“工具”菜单的样子:
提前致谢
多米尼克
首先,正如迈克所说,不要费心去走 ocx 路。
System.Management.ManagementScope class 位于 .Net System.Management.dll。 要使用 .Net dll,需要将其添加到程序集中。
AppBuilder 用户重要通知
一些开发人员开始他们的开发,使用 AppBuilder(快捷方式,开始开发,包含 C:\Progressx86\OpenEdge\bin\prowin32.exe ... -p _ab.p ...
)。从这一点启动过程编辑器将不起作用,因为一些菜单项将会丢失。
为了解决这个问题,开始使用 C:\Progressx86\OpenEdge\bin\prowin32.exe
(不带任何参数)。这将启动程序编辑器,其中包含所需的菜单项。
使用 Progress Developer Studio for OpenEdge,您只需添加它,然后就可以使用它。通过 GUI 添加程序集会产生以下 assemblies.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<references>
<assembly name="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</references>
有了这个 assemblies.xml,您可以使用:
DEFINE VARIABLE oMgmtScope AS System.Management.ManagementScope NO-UNDO.
要在没有 Progress Developer Studio for OpenEdge 的情况下添加程序集,您可以使用程序编辑器,菜单项 [工具/程序集参考]:
之后您可以添加引用: