Hi,<div><br></div><div>All root elements are ok. Thus say, i can see all (?) of the root elements.</div><div><br></div><div>But not when trying to iterate child elements of the Notepad automation element.</div><div><br></div>
<div>My Info:</div><div>W7 32 bit (UAC disabled)</div><div>.Net 4.0<br><br><div class="gmail_quote">On Wed, Jun 16, 2010 at 10:08 AM, Lepisto, Stephen P <span dir="ltr"><<a href="mailto:stephen.p.lepisto@intel.com">stephen.p.lepisto@intel.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">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</span></p><div class="im">
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">if <a href="http://rae.Current.Name" target="_blank">rae.Current.Name</a> == 'Untitled - Notepad':</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
</div><p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">to be</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">if not <a href="http://rae.Current.Name" target="_blank">rae.Current.Name</a> == '':</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">just to see what was actually being found.</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Note: I'm running Windows XP SP3.</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt">From:</span></b><span style="font-size:10.0pt">
<a href="mailto:users-bounces@lists.ironpython.com" target="_blank">users-bounces@lists.ironpython.com</a> [mailto:<a href="mailto:users-bounces@lists.ironpython.com" target="_blank">users-bounces@lists.ironpython.com</a>] <b>On
Behalf Of </b>yngipy hernan<br>
<b>Sent:</b> Tuesday, June 15, 2010 10:09 PM<br>
<b>To:</b> Discussion of IronPython<br>
<b>Subject:</b> [IronPython] IronPython and C# not giving the same result</span></p>
</div><div><div></div><div class="h5">
<p class="MsoNormal"> </p>
<p class="MsoNormal">Hi All,</p>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">I have tried to transliterate the following C# code to
IronPython:</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<div>
<p class="MsoNormal">using System;</p>
</div>
<div>
<p class="MsoNormal">using System.Collections.Generic;</p>
</div>
<div>
<p class="MsoNormal">using System.Linq;</p>
</div>
<div>
<p class="MsoNormal">using System.Text;</p>
</div>
<div>
<p class="MsoNormal">using System.Windows.Automation;</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">namespace ConsoleApplication1</p>
</div>
<div>
<p class="MsoNormal">{</p>
</div>
<div>
<p class="MsoNormal"> class Program</p>
</div>
<div>
<p class="MsoNormal"> {</p>
</div>
<div>
<p class="MsoNormal"> static void Main(string[]
args)</p>
</div>
<div>
<p class="MsoNormal"> {</p>
</div>
<div>
<p class="MsoNormal">
AutomationElement eNode;</p>
</div>
<div>
<p class="MsoNormal"> eNode =
TreeWalker.ControlViewWalker.GetFirstChild(AutomationElement.RootElement);</p>
</div>
<div>
<p class="MsoNormal"> while(eNode
!= null) {</p>
</div>
<div>
<p class="MsoNormal">
if (<a href="http://eNode.Current.Name" target="_blank">eNode.Current.Name</a> ==
"Untitled - Notepad")</p>
</div>
<div>
<p class="MsoNormal">
{</p>
</div>
<div>
<p class="MsoNormal">
AutomationElement ae;</p>
</div>
<div>
<p class="MsoNormal">
ae = TreeWalker.ControlViewWalker.GetFirstChild(eNode);</p>
</div>
<div>
<p class="MsoNormal">
System.Console.WriteLine("-------------------");</p>
</div>
<div>
<p class="MsoNormal">
while (ae != null)</p>
</div>
<div>
<p class="MsoNormal">
{</p>
</div>
<div>
<p class="MsoNormal">
System.Console.WriteLine("Name:
{0}", <a href="http://ae.Current.Name" target="_blank">ae.Current.Name</a>);</p>
</div>
<div>
<p class="MsoNormal">
ae =
TreeWalker.ControlViewWalker.GetNextSibling( ae);</p>
</div>
<div>
<p class="MsoNormal">
}</p>
</div>
<div>
<p class="MsoNormal">
System.Console.WriteLine("-------------------");</p>
</div>
<div>
<p class="MsoNormal">
}</p>
</div>
<div>
<p class="MsoNormal">
eNode = TreeWalker.ControlViewWalker.GetNextSibling(eNode);</p>
</div>
<div>
<p class="MsoNormal"> }</p>
</div>
<div>
<p class="MsoNormal"> }</p>
</div>
<div>
<p class="MsoNormal"> }</p>
</div>
<div>
<p class="MsoNormal">}</p>
</div>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">The output of this program looks like:</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<div>
<p class="MsoNormal">-------------------</p>
</div>
<div>
<p class="MsoNormal">Name: test1</p>
</div>
<div>
<p class="MsoNormal">Name: Untitled - Notepad</p>
</div>
<div>
<p class="MsoNormal">Name: Application</p>
</div>
<div>
<p class="MsoNormal">-------------------</p>
</div>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">This is my IronPython code:</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<div>
<p class="MsoNormal">import clr</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">clr.AddReference('UIAutomationTypes')</p>
</div>
<div>
<p class="MsoNormal">clr.AddReference('UIAutomationProvider')</p>
</div>
<div>
<p class="MsoNormal">clr.AddReference('UIAutomationClient')</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">import System.Windows.Automation as swu</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">rae = swu.TreeWalker.ControlViewWalker.GetFirstChild(
swu.AutomationElement.RootElement )</p>
</div>
<div>
<p class="MsoNormal">while rae:</p>
</div>
<div>
<p class="MsoNormal"> if <a href="http://rae.Current.Name" target="_blank">rae.Current.Name</a>
== 'Untitled - Notepad':</p>
</div>
<div>
<p class="MsoNormal"> print '-'*24</p>
</div>
<div>
<p class="MsoNormal"> ae =
swu.TreeWalker.ControlViewWalker.GetFirstChild( rae )</p>
</div>
<div>
<p class="MsoNormal"> while ae:</p>
</div>
<div>
<p class="MsoNormal"> print <a href="http://ae.Current.Name" target="_blank">ae.Current.Name</a></p>
</div>
<div>
<p class="MsoNormal"> ae =
swu.TreeWalker.ControlViewWalker.GetNextSibling( ae )</p>
</div>
<div>
<p class="MsoNormal"> print '-'*24</p>
</div>
<div>
<p class="MsoNormal"> rae =
swu.TreeWalker.ControlViewWalker.GetNextSibling( rae )</p>
</div>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">The output of this shows:</p>
</div>
<div>
<div>
<p class="MsoNormal">------------------------</p>
</div>
<div>
<p class="MsoNormal">test1</p>
</div>
<div>
<p class="MsoNormal">------------------------</p>
</div>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">I read somewhere that IronPython used to have issues with UI
Automation. Is still the case?</p>
</div>
<div>
<p class="MsoNormal"> </p>
</div>
<div>
<p class="MsoNormal">Regards,</p>
</div>
<div>
<p class="MsoNormal">Yngipy</p>
</div>
</div></div></div>
</div>
<br>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.ironpython.com">Users@lists.ironpython.com</a><br>
<a href="http://lists.ironpython.com/listinfo.cgi/users-ironpython.com" target="_blank">http://lists.ironpython.com/listinfo.cgi/users-ironpython.com</a><br>
<br></blockquote></div><br></div>