For Window Eyes Versions Prior to 7.1
When you attempt to create a WindowEyes.Application object from a multithreaded apartment COM client with Window-Eyes 7.0 on Windows Vista and newer, the object is not created.
This problem does not exist on Window-Eyes version 7.1 and above; the workaround below is only applicable to Window-Eyes versions earlier than 7.1. Similarly, the problem does not exist on versions of Windows older than Windows Vista. However, the workaround will still work on systems that do not exhibit the problem.
One workaround for this problem is to create a Windows Script Component that proxies the call into a client that works properly with the way WindowEyes.Application is implemented. To do that, create a file called "weappproxy.wsc" and paste this code into it:
<?XML version="1.0"?>
<package>
<?component error="true" ?>
<comment>
This object provides a proxy to the WindowEyes.Application object
on operating systems where CreateObject fails for some clients.
</comment>
<component id="ApplicationProxy">
<registration
progid="WindowEyes.ApplicationProxy"
description="Proxy to get a WindowEyes.Application object from an MTA COM client"
version="7"
clsid="{DCC5E77A-2AFC-4261-8956-C674876F4C25}"/>
<public><property name="app" /></public>
<object id="app" progid="WindowEyes.Application" />
<script language="VBScript" />
</component>
</package>
Now, from a command prompt with administrative privileges, cd to the directory where you created the file and type
regsvr32 weappproxy.wsc
Your application should now be able to create a WindowEyes.ApplicationProxy object. The "app" property of that object will be a WindowEyes.Application object.
For example, from PowerShell:
PS C:\Users\Ron> $x = new-object -com "WindowEyes.ApplicationProxy" PS C:\Users\Ron> $y = $x.app PS C:\Users\Ron> $y.name Window-Eyes


