枚举给定 ProgID 的 COM 对象公开的方法和属性
Enumerate the methods and properties exposed by a COM object given the ProgID
以下 this question, I want to list all the methods and properties exposed by a Component Object Model (COM)
object, given its ProgID
. From here 我可以列出注册表中可用的所有 COM 对象 ProgID:
dir REGISTRY::HKEY_CLASSES_ROOT\CLSID -include PROGID -recurse | foreach {$_.GetValue(“”)}
虽然它在一些导出的字符串末尾添加了一些数字(例如,.1
)。
并且 here 提出了一个小脚本来完成给定 CLSID 的工作。伪代码:
[activator]::CreateInstance([type]::GetTypeFromCLSID($CLSID)) | Get-Member
请注意,我不知道 PowerShell,上面的代码很可能是错误的。
如果你能帮助我知道如何使用上面的代码片段或任何其他方式获取 COM 对象的方法和属性列表并知道它的 ProgID(例如,WScript.Shell
),我将不胜感激.
P.S. 它不一定是 PowerShell 解决方案。 cmd/batch、JScript 和 VBScript 解决方案也很受欢迎。
Public 如果从 COM 对象实例化一个对象,方法和属性将被暴露
New-Object -ComObject WScript.Shell | Get-Member
将return
Name MemberType Definition
---- ---------- ----------
AppActivate Method bool AppActivate (Variant, Variant)
CreateShortcut Method IDispatch CreateShortcut (string)
Exec Method IWshExec Exec (string)
ExpandEnvironmentStrings Method string ExpandEnvironmentStrings (string)
LogEvent Method bool LogEvent (Variant, string, string)
Popup Method int Popup (string, Variant, Variant, Variant)
RegDelete Method void RegDelete (string)
RegRead Method Variant RegRead (string)
RegWrite Method void RegWrite (string, Variant, Variant)
Run Method int Run (string, Variant, Variant)
SendKeys Method void SendKeys (string, Variant)
Environment ParameterizedProperty IWshEnvironment Environment (Variant) {get}
CurrentDirectory Property string CurrentDirectory () {get} {set}
SpecialFolders Property IWshCollection SpecialFolders () {get}
@Simon Mourier 策略也可以正常工作
以下 this question, I want to list all the methods and properties exposed by a Component Object Model (COM)
object, given its ProgID
. From here 我可以列出注册表中可用的所有 COM 对象 ProgID:
dir REGISTRY::HKEY_CLASSES_ROOT\CLSID -include PROGID -recurse | foreach {$_.GetValue(“”)}
虽然它在一些导出的字符串末尾添加了一些数字(例如,.1
)。
并且 here 提出了一个小脚本来完成给定 CLSID 的工作。伪代码:
[activator]::CreateInstance([type]::GetTypeFromCLSID($CLSID)) | Get-Member
请注意,我不知道 PowerShell,上面的代码很可能是错误的。
如果你能帮助我知道如何使用上面的代码片段或任何其他方式获取 COM 对象的方法和属性列表并知道它的 ProgID(例如,WScript.Shell
),我将不胜感激.
P.S. 它不一定是 PowerShell 解决方案。 cmd/batch、JScript 和 VBScript 解决方案也很受欢迎。
Public 如果从 COM 对象实例化一个对象,方法和属性将被暴露
New-Object -ComObject WScript.Shell | Get-Member
将return
Name MemberType Definition
---- ---------- ----------
AppActivate Method bool AppActivate (Variant, Variant)
CreateShortcut Method IDispatch CreateShortcut (string)
Exec Method IWshExec Exec (string)
ExpandEnvironmentStrings Method string ExpandEnvironmentStrings (string)
LogEvent Method bool LogEvent (Variant, string, string)
Popup Method int Popup (string, Variant, Variant, Variant)
RegDelete Method void RegDelete (string)
RegRead Method Variant RegRead (string)
RegWrite Method void RegWrite (string, Variant, Variant)
Run Method int Run (string, Variant, Variant)
SendKeys Method void SendKeys (string, Variant)
Environment ParameterizedProperty IWshEnvironment Environment (Variant) {get}
CurrentDirectory Property string CurrentDirectory () {get} {set}
SpecialFolders Property IWshCollection SpecialFolders () {get}
@Simon Mourier 策略也可以正常工作