Loading ...
Sorry, an error occurred while loading the content.

1481Re: [perlguitest] Re: PushChildButton Not actually firing the event handler related to the button

Expand Messages
  • Girish
    Aug 23, 2006
    • 0 Attachment
      Hi Param,

      To understand/confirm the exact label/caption of the button use a spy tool
      or try below;
      -------------------------------------------------------------------------------------------------------------
      my @childwnds = GetChildWindows($MainWin[0]);
      # Where $MainWin[0] is the window containing Next and Finish buttons
      foreach my $CWinHanlde (@childwnds) {
      my $ChildWinName = GetWindowText($CWinHanlde);
      print "$CWinHanlde --> $ChildWinName \n";
      }
      -------------------------------------------------------------------------------------------------------------
      Hope it helps u

      Thanks
      -Girish.

      On 8/22/06, paramsan1234 <paramsan1234@...> wrote:
      >
      > PushButton does not works totally though, but PushChildButton works
      > now. I don't know what the '&' does to '&Next'?
      > So the text on the next button is like "Next >" while on the finish
      > button is "Finish." As you suggested I used '&Next' and the script
      > worked fine. Now if I use '&Finish' nothing happens but if I
      > use 'Finish' the button gets pushed. What is it doing behind the
      > scenes?
      >
      > [If you are wondering where do I use them, I use them right
      > PushChildButton($windowHandle, '&Next', '0.25');
      > or
      > PushChildButton($windowHandle, 'Finish', '0.25');
      >
      > And Thanks for the suggestion of '&Next' Its working (for now
      > atleast).
      >
      >
      > --- In perlguitest@yahoogroups.com, "Santosh Kumar"
      > <kadlisantosh@...> wrote:
      > >
      > > Param,
      > >
      > > Try using PushButton instead of PushChildButton.
      > > Check this code snippet to click Next button, it works with better
      > consistency (I never faced any issue) with the same "Add Hardware
      > Wizard".
      > >
      > > my $Window = 'Add hardware Wizard';
      > > my @WHdls = FindWindowLike(0, $Window, "" );
      > > my $hwnd = $WHdls[0]; # Window handle
      > > SetForegroundWindow( $hwnd ); # Get Add Hardware Wizard to front
      > and active.
      > > my $result = PushButton( '&Next', '0.5' ); #Click Next with 0.5
      > seconds of delay.
      > > #Now wait for next window, or what ever you want.
      > >
      > > I suppose, issue you are facing could be due to parent window
      > loosing focus / active status while you are sending the
      > PushChildButton action.
      > >
      > > Regards,
      > > ~Santosh
      > >
      > >
      > >
      > > ----- Original Message -----
      > > From: paramsan1234
      > > To: perlguitest@yahoogroups.com
      > > Sent: Tuesday, August 22, 2006 11:51 AM
      > > Subject: [perlguitest] PushChildButton Not actually firing the
      > event handler related to the button
      > >
      > >
      > > Hi all!
      > >
      > > My situation:
      > > I am new to perl. I use Win32::GuiTest to achieve some
      > screenscaping
      > > for windows (!!!) popping up "Add New Hardware Wizard".
      > >
      > > Code Snippet:
      > >
      > > use Win32::GuiTest qw(WaitWindowLike PushChildButton SendKeys)
      > >
      > > $Win32::GuiTest::debug = 1; # Set Debugging
      > >
      > > $WinHandle = WaitWindowLike(undef, "^Add New Hardware", "", "",
      > 1200);
      > > # Set a timeout for 1200 seconds
      > >
      > > PushChildButton($WinHandle, "Next >", 0.25);
      > > # Set delay of 250ms for debugging
      > >
      > > # Don't worry about the syntax or compile errors in the code,
      > this
      > > # should serve as a pseudo code to actually what I am doing since
      > > # screen-scraping, which is why I am using Win32::GuiTest is my
      > last
      > > # alternative though I know Win32::GuiTest is extremely useful
      > > # for thousands of windows errands/problems
      > >
      > > Problem:
      > > The code is as complex as it gets above (an irony, acutally it's
      > > simple though!). However the real issue is that sometimes
      > the "Next >"
      > > button gets pushed and sometimes not. So I tried some detailed
      > > checking and figured out that PushChildButton is returning a true
      > > value (1) means that it did it's work though I can't actually see
      > it
      > > press the button and neither does the window proceeds to the next
      > step.
      > > However, I want a bit consistency in my program and want to make
      > sure
      > > that it should work for the 99 % of cases (getting realistic of
      > some
      > > other conditions)
      > >
      > > I haven't seen the bug reports in detail though but I am not sure
      > why
      > > my code will be doing this. It seems as if something is
      > interfering
      > > between the time the PushChildButton's action is sent and the
      > event
      > > handler is kicked off. While, I have seen it work and not work in
      > the
      > > same conditions? Or this might not be a bug at all but some
      > windows thing?
      > >
      > > If any of you went throught the same problem, please help me
      > explain
      > > to as why is this happening and how can I make sure that the Next
      > > button is pressed and the correct event takes place?
      > >
      > > Future Effort:
      > > The next part I am going to try is to put the child button
      > (window) id
      > > instead of the text and;
      > > try using sendMessage(...) somehow?
      > >
      > > Fine Print:
      > > If any of you had any similar threads posted before, please feel
      > free
      > > to redirect me to the correct place and if anything is not clear,
      > I
      > > should try to correct my programming english considering the fact
      > that
      > > I have just dived into the ocean and is still swimming near the
      > shore.
      > >
      > > Thanking all,
      > > Param
      > >
      > >
      > >
      > >
      > >
      > > [Non-text portions of this message have been removed]
      > >
      >
      >
      >
      >
      >
      >
      >
      >
      > Yahoo! Groups Links
      >
      >
      >
      >
      >
      >
      >


      --
      Rgds,
      Girish :-)


      [Non-text portions of this message have been removed]
    • Show all 5 messages in this topic