精易论坛

标题: 创建对象那个“对象类型”可以从哪里得到相关资料? [打印本页]

作者: jingyi11023995    时间: 2024-3-18 08:50
标题: 创建对象那个“对象类型”可以从哪里得到相关资料?

1.官方说明

    调用格式: 〈逻辑型〉 对象.创建 (文本型 对象类型,[文本型 类型库文件名]) - 系统核心支持库->对象
    英文名称:CreateObject
    创建指定类型的 COM 对象,本对象中的原有内容将被释放。成功返回真,否则返回假。本命令为初级对象成员命令。
    参数<1>的名称为“对象类型”,类型为“文本型(text)”。本参数指定对象的类型文本,譬如“Word.Application”、“Excel.Application”、“{000209FF-0000-0000-C000-000000000046}”等均可。
    参数<2>的名称为“类型库文件名”,类型为“文本型(text)”,可以被省略。如果需要通过类型库才能访问指定对象,可在本参数中提供其类型库或类型库数据所在文件名。注意如果没有提供文件路径,且在当前目录下无法找到该文件,系统将自动进行搜索。如果省略本参数,默认为不需要类型库文件。



2.实例:
.版本 2


.程序集变量 对象, 对象

对象.创建 (“excel.application”, )
对象.创建 (“Excel.Application”, )

…………


3.问题1:(度娘:应用程序名称
易语言创建对象,填写“对象类型”这里的文本,很想知道在哪里能找到相关的资料?或者有什么工具可以查看?



最近想学习使用wmi,找到一份进程监控源码,看到里面是这样的:
.版本 2


objWbemLocator.创建 (“WbemScripting.SWbemLocator”, )
' objWbemLocator.查看 ()
objWMIService = objWbemLocator.对象型方法 (“ConnectServer”, “.”, “root\CIMV2”, , , , , , )
' objWMIService.查看 ()


监控源码 进程:
colMonitoredProcesses = objWMIService.对象型方法 (“ExecNotificationQuery”, “select * from __instancecreationevent within 1 where TargetInstance isa 'Win32_Process'”)


自己尝试使用:(对象型方法里面的文本,是从VB找到的
ISWbemObjectSet = objWMIService.对象型方法 (“ExecQuery”, “Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE”)
'Select * from Win32_NetworkAdapterConfiguration
ISWbemObject = ISWbemObjectSet.对象型方法 (“ItemIndex”, 0)
调试输出 (ISWbemObject.文本方法 (“GetObjectText_”, 0))
可以获取到网卡相关信息。


3.问题2:
如果要设置IP,该如何实现?





作者: 花间一壶酒    时间: 2024-3-18 11:54
你这个objWMIService.查看 ()  不就是查看该对象下面的所有属性和方法么  如果是excel的  通常直接去微软官方给的vba例子里查看说明  然后翻译过来用  微软官方的文档 https://docs.microsoft.com/zh-cn/office/vba/api/overview/excel/object-model
作者: jingyi11023995    时间: 2024-3-19 09:21
赤璃琴殇 发表于 2024-3-18 11:54
你这个objWMIService.查看 ()  不就是查看该对象下面的所有属性和方法么  如果是excel的  通常直接去微软官 ...

已经知道的就不要回答了,我问的是未知的,比如微软的TTS, wmi,……
查看属性和方法,我上面的代码也有了,方法里面的参数,有些是文本型,像“Select * from Win32_NetworkAdapterConfiguration”这些,如果没有相关文档,谁知道怎么填?我想知道哪里有这些资料。
作者: jingyi11023995    时间: 2024-3-19 18:18
突然想到度娘“COM 类 查看器”
找到了不少有用的东西。
微软:
https://learn.microsoft.com/zh-cn/windows/win32/com/ole-com-object-viewer?redirectedfrom=MSDN

其他:勇芳COM类型库查看器
https://xiazai.zol.com.cn/detail/53/529514.shtml

结贴了,自己继续研究。
作者: jingyi11023995    时间: 2024-3-20 15:00
今天找到一个很棒的软件:
WMI代码生成工具 V1.0
https://125.confly.eu.org/forum.php?mod=viewthread&tid=13804763
(出处: 精易论坛)

作者: jingyi11023995    时间: 2024-3-22 23:05
微软官方的WMI Code Creator v1.0:
https://www.microsoft.com/en-us/download/details.aspx?id=8572
作者: jingyi11023995    时间: 2024-3-22 23:09
官方设置IP代码:

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
' Obtain an instance of the the class
' using a key property value.
Set objShare = objWMIService.Get("Win32_NetworkAdapterConfiguration.Index='1'")

' Obtain an InParameters object specific
' to the method.
Set objInParam = objShare.Methods_("EnableStatic"). _
    inParameters.SpawnInstance_()


' Add the input parameters.
objInParam.Properties_.Item("IPAddress") =  "192.168.1.138"
objInParam.Properties_.Item("SubnetMask") =  "255.255.255.0"

' Execute the method and obtain the return status.
' The OutParameters object in objOutParams
' is created by the provider.
Set objOutParams = objWMIService.ExecMethod("Win32_NetworkAdapterConfiguration.Index='1'", "EnableStatic", objInParam)

' List OutParams
Wscript.Echo "Out Parameters: "
Wscript.echo "ReturnValue: " & objOutParams.ReturnValue

作者: jingyi11023995    时间: 2024-3-25 10:25
经过多次尝试,自行解决了!
是传入的参数问题!

变体.赋值 ({ “192.168.0.138” }, )  ' OK
objInParam网址.对象型方法 (“Properties_”, ).对象型方法 (“Item”, “IPAddress”).写属性 (“value”, 变体)





欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4