Methods 控件的自动热键调用方法

Methods 控件的自动热键调用方法,methods,autohotkey,function-calls,Methods,Autohotkey,Function Calls,我有一个简单的windows窗体,它有一个COM用户控件。此COM用户控件具有方法“GetNode”COM方法。 我想用自动热键测试这个函数调用 Run "C:\AHC_Exploring\Project1.exe" WinWaitActive, Form1, , 2 if ErrorLevel { MsgBox, WinWait timed out. return } ObjUerControl := ; // Need to know correct get COM obje

我有一个简单的windows窗体,它有一个COM用户控件。此COM用户控件具有方法“GetNode”COM方法。 我想用自动热键测试这个函数调用

Run "C:\AHC_Exploring\Project1.exe"
WinWaitActive, Form1, , 2
if ErrorLevel
{    MsgBox, WinWait timed out.
    return
}

ObjUerControl := ; // Need to know correct get COM object method

lResult = Object.GetNodeId(2)

MsgBox %lResult%

Return

您可以使用ComObjActive获取已在运行的COM对象的句柄。

我很高兴,该对象的方法(如“GetNodeId”)不在自动热键脚本的范围内,因此这种方法不起作用。没错,我理解这一点。后来我切换到VBScript,在应用程序中,我公开了需要自动化的对象。现在,这很容易。谢谢你的回复。另外,应该有一种方法我们可能没有探索过。只是因为时间不够,我没有去探索。GetNodeId是COM函数,ObjUserControl是COM用户控件。AutoHotKey允许CreateObject,并且在创建的对象上,它允许调用GetNodeId函数。在这种情况下,我们需要知道现有COM对象的获取句柄,而不是创建。我只使用带有internet explorer的cOM对象来远程控制它。为了让它工作,我必须用命令
Pwb:=ComObjCreate(“InternetExplorer.Application”)
来启动它,以获得一个句柄,然后用于与brwoser通信。我还没有找到一种方法来获取我开始使用的
run
命令的对象。如果您必须为一个已经包含InternetExplorer.application的应用程序编写脚本,该怎么办。您的Pwb:=ComXXXX(“InternetExplorer.Application”)声明是什么