Recognition of COM (ActiveX) Interfaces
Posted: Mon May 30, 2011 2:07 pm
Hello,
I'm currently evaluating Ranorex on a Win 7 64-bit (VM) environment. A key part of our application is a 64-bit ActiveX control that functions as an image container and exposes a set of properties and methods. In our 32-bit environment our current automation tool can successfully identify this interface and we're able to get and set properties and invoke exposed methods. These controls are hosted both within IE as well as within explorer.exe (the desktop explorer process) that embeds a web browser control.
Unfortunately there is as of yet no native 64-bit version of that tool and its 64-bit object recognition is limited to viewing the control as a generic window object.
I'm running the 64-bit Ranorex Spy and Recorder and the controls do appear to be recognized as containers of some sort and all the intermediate objects (mostly shell views) appear as well - which is very encouraging.
However, the interface itself is not being recognized.
My first question is, does Ranorex have the ability to recognize and interact with 64-bit custom COM (ActiveX) interfaces and, if so, is this something the tool supports natively through some configuration or 'Add-In' component?
As our current workaround, I've written a C# COM+ app that functions as a bridge between our 32-bit automation tool and our 64-bit application. Having knowledge of the app I can import a reference to the interface and get at the control through the underlying HTML DOM. This works when the controls are hosted directly on a page in IE.
However I cannot get it to work with the more complex object hierarchy in explorer.exe. In this case the controls are not directly accessible through the DOM but are instead child objects of custom ShellView objects that don't exposed the interface I need. I can identify the handle of the image container I want, but I can't see any way to get the interface from that handle.
My second question is can Ranorex be used within Visual Studio 2005 in a way that exposes its object recognition capabilities to C#?
Any help or ideas would be appreciated and I apologize for the long post.
Thanks,
Frank
I'm currently evaluating Ranorex on a Win 7 64-bit (VM) environment. A key part of our application is a 64-bit ActiveX control that functions as an image container and exposes a set of properties and methods. In our 32-bit environment our current automation tool can successfully identify this interface and we're able to get and set properties and invoke exposed methods. These controls are hosted both within IE as well as within explorer.exe (the desktop explorer process) that embeds a web browser control.
Unfortunately there is as of yet no native 64-bit version of that tool and its 64-bit object recognition is limited to viewing the control as a generic window object.
I'm running the 64-bit Ranorex Spy and Recorder and the controls do appear to be recognized as containers of some sort and all the intermediate objects (mostly shell views) appear as well - which is very encouraging.
However, the interface itself is not being recognized.
My first question is, does Ranorex have the ability to recognize and interact with 64-bit custom COM (ActiveX) interfaces and, if so, is this something the tool supports natively through some configuration or 'Add-In' component?
As our current workaround, I've written a C# COM+ app that functions as a bridge between our 32-bit automation tool and our 64-bit application. Having knowledge of the app I can import a reference to the interface and get at the control through the underlying HTML DOM. This works when the controls are hosted directly on a page in IE.
However I cannot get it to work with the more complex object hierarchy in explorer.exe. In this case the controls are not directly accessible through the DOM but are instead child objects of custom ShellView objects that don't exposed the interface I need. I can identify the handle of the image container I want, but I can't see any way to get the interface from that handle.
My second question is can Ranorex be used within Visual Studio 2005 in a way that exposes its object recognition capabilities to C#?
Any help or ideas would be appreciated and I apologize for the long post.
Thanks,
Frank