[IronPython] IronPython and C# not giving the same result

yngipy hernan yngipy at gmail.com
Thu Jun 17 03:16:14 CEST 2010


Hi,

All root elements are ok. Thus say, i can see all (?) of the root elements.

But not when trying to iterate child elements of the Notepad automation
element.

My Info:
W7 32 bit (UAC disabled)
.Net 4.0

On Wed, Jun 16, 2010 at 10:08 AM, Lepisto, Stephen P <
stephen.p.lepisto at intel.com> wrote:

>  I was able to successfully run that python code under both IronPython
> 2.0.3 and IronPython 2.6.1 and it produced a list of all top-level
> applications.  I modified the one line
>
>
>
> if rae.Current.Name == 'Untitled - Notepad':
>
>
>
> to be
>
>
>
> if not rae.Current.Name == '':
>
>
>
> just to see what was actually being found.
>
>
>
> Note: I'm running Windows XP SP3.
>
>
>
> *From:* users-bounces at lists.ironpython.com [mailto:
> users-bounces at lists.ironpython.com] *On Behalf Of *yngipy hernan
> *Sent:* Tuesday, June 15, 2010 10:09 PM
> *To:* Discussion of IronPython
> *Subject:* [IronPython] IronPython and C# not giving the same result
>
>
>
> Hi All,
>
>
>
> I have tried to transliterate the following C# code to IronPython:
>
>
>
> using System;
>
> using System.Collections.Generic;
>
> using System.Linq;
>
> using System.Text;
>
> using System.Windows.Automation;
>
>
>
> namespace ConsoleApplication1
>
> {
>
>     class Program
>
>     {
>
>         static void Main(string[] args)
>
>         {
>
>             AutomationElement eNode;
>
>             eNode =
> TreeWalker.ControlViewWalker.GetFirstChild(AutomationElement.RootElement);
>
>             while(eNode != null) {
>
>                 if (eNode.Current.Name == "Untitled - Notepad")
>
>                 {
>
>                     AutomationElement ae;
>
>                     ae = TreeWalker.ControlViewWalker.GetFirstChild(eNode);
>
>                     System.Console.WriteLine("-------------------");
>
>                     while (ae != null)
>
>                     {
>
>                         System.Console.WriteLine("Name: {0}",
> ae.Current.Name);
>
>                         ae = TreeWalker.ControlViewWalker.GetNextSibling(
> ae);
>
>                     }
>
>                     System.Console.WriteLine("-------------------");
>
>                 }
>
>                 eNode = TreeWalker.ControlViewWalker.GetNextSibling(eNode);
>
>             }
>
>         }
>
>     }
>
> }
>
>
>
> The output of this program looks like:
>
>
>
> -------------------
>
> Name: test1
>
> Name: Untitled - Notepad
>
> Name: Application
>
> -------------------
>
>
>
> This is my IronPython code:
>
>
>
> import clr
>
>
>
> clr.AddReference('UIAutomationTypes')
>
> clr.AddReference('UIAutomationProvider')
>
> clr.AddReference('UIAutomationClient')
>
>
>
> import System.Windows.Automation as swu
>
>
>
> rae = swu.TreeWalker.ControlViewWalker.GetFirstChild(
> swu.AutomationElement.RootElement )
>
> while rae:
>
>     if rae.Current.Name == 'Untitled - Notepad':
>
>         print '-'*24
>
>         ae = swu.TreeWalker.ControlViewWalker.GetFirstChild( rae )
>
>         while ae:
>
>             print ae.Current.Name
>
>             ae = swu.TreeWalker.ControlViewWalker.GetNextSibling( ae )
>
>         print '-'*24
>
>     rae = swu.TreeWalker.ControlViewWalker.GetNextSibling( rae )
>
>
>
> The output of this shows:
>
> ------------------------
>
> test1
>
> ------------------------
>
>
>
> I read somewhere that IronPython used to have issues with UI Automation. Is
> still the case?
>
>
>
> Regards,
>
> Yngipy
>
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100616/381bc449/attachment.html>


More information about the Ironpython-users mailing list