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

Re: Using SendKeys- Simulate or Double mouse Click

Expand Messages
  • Piotr Kaluski
    In order to emulate Shift, you have to use + (rather then {SHIFT}). --Piotr
    Message 1 of 12 , Nov 4, 2005
    • 0 Attachment
      In order to emulate Shift, you have to use '+' (rather then {SHIFT}).

      --Piotr

      --- In perlguitest@yahoogroups.com, "markmontemuro" <montemur@s...> wrote:
      >
      > I'm trying to simulate using SendKeys to highlight text on an entry
      > box. I use SendKeys("{HOME"); to mark the beginning of the text and
      > then I tried SendKeys("{SHIFT}{END}"); to highlight the text and only
      > the END action seems to happen. I also tried
      > SendKeys("{HOME}{SHIFT}{END}{DELETE}"); The curser moved from beginning
      > to end, but the text is not highlighted.
      >
      > Any suggestions?
      >
      >
      > I am also trying to simulate a double mouse click. Any suggestions?
      >
    • markmontemuro
      ... {SHIFT}). ... entry ... and ... only ... beginning ... suggestions? ... What would your syntax be? I still can t get this to work with the +. This is
      Message 2 of 12 , Nov 4, 2005
      • 0 Attachment
        --- In perlguitest@yahoogroups.com, "Piotr Kaluski" <pkaluski@p...>
        wrote:
        >
        > In order to emulate Shift, you have to use '+' (rather then
        {SHIFT}).
        >
        > --Piotr
        >
        > --- In perlguitest@yahoogroups.com, "markmontemuro" <montemur@s...>
        wrote:
        > >
        > > I'm trying to simulate using SendKeys to highlight text on an
        entry
        > > box. I use SendKeys("{HOME"); to mark the beginning of the text
        and
        > > then I tried SendKeys("{SHIFT}{END}"); to highlight the text and
        only
        > > the END action seems to happen. I also tried
        > > SendKeys("{HOME}{SHIFT}{END}{DELETE}"); The curser moved from
        beginning
        > > to end, but the text is not highlighted.
        > >
        > > Any suggestions?
        > >
        > >
        > > I am also trying to simulate a double mouse click. Any
        suggestions?
        > >
        >
        What would your syntax be? I still can't get this to work with the +.
        This is actually updating a perl TK Entry field. I can use the HOME,
        SHIFT HOME key sequence from the keyboard, so I'm hoping I can do
        this from GUITEST.
      • rmqa_group
        Try: SendKeys( {HOME}+({END}){DELETE} ); I m not sure the braces around {END} are strictly necessary, but I ve run into problems with SendKeys seemingly not
        Message 3 of 12 , Nov 7, 2005
        • 0 Attachment
          Try:

          SendKeys("{HOME}+({END}){DELETE}");

          I'm not sure the braces around {END} are strictly necessary, but I've
          run into problems with SendKeys seemingly not releasing a modifier
          key if the braces aren't used. Alternatively, separate the components
          out into three SendKeys calls...

          DH


          --- In perlguitest@yahoogroups.com, "markmontemuro" <montemur@s...>
          wrote:
          >
          > --- In perlguitest@yahoogroups.com, "Piotr Kaluski" <pkaluski@p...>
          > wrote:
          > >
          > > In order to emulate Shift, you have to use '+' (rather then
          > {SHIFT}).
          > >
          > > --Piotr
          > >
          > > --- In perlguitest@yahoogroups.com, "markmontemuro"
          <montemur@s...>
          > wrote:
          > > >
          > > > I'm trying to simulate using SendKeys to highlight text on an
          > entry
          > > > box. I use SendKeys("{HOME"); to mark the beginning of the text
          > and
          > > > then I tried SendKeys("{SHIFT}{END}"); to highlight the text
          and
          > only
          > > > the END action seems to happen. I also tried
          > > > SendKeys("{HOME}{SHIFT}{END}{DELETE}"); The curser moved from
          > beginning
          > > > to end, but the text is not highlighted.
          > > >
          > > > Any suggestions?
          > > >
          > > >
          > > > I am also trying to simulate a double mouse click. Any
          > suggestions?
          > > >
          > >
          > What would your syntax be? I still can't get this to work with the
          +.
          > This is actually updating a perl TK Entry field. I can use the
          HOME,
          > SHIFT HOME key sequence from the keyboard, so I'm hoping I can do
          > this from GUITEST.
          >
        • markmontemuro
          ... I ve ... components ... ... text ... the ... Here is a simple program which shows the problem. When the highlight button is selected, the
          Message 4 of 12 , Nov 7, 2005
          • 0 Attachment
            --- In perlguitest@yahoogroups.com, "rmqa_group" <rmqa_group@y...>
            wrote:
            >
            > Try:
            >
            > SendKeys("{HOME}+({END}){DELETE}");
            >
            > I'm not sure the braces around {END} are strictly necessary, but
            I've
            > run into problems with SendKeys seemingly not releasing a modifier
            > key if the braces aren't used. Alternatively, separate the
            components
            > out into three SendKeys calls...
            >
            > DH
            >
            >
            > --- In perlguitest@yahoogroups.com, "markmontemuro" <montemur@s...>
            > wrote:
            > >
            > > --- In perlguitest@yahoogroups.com, "Piotr Kaluski"
            <pkaluski@p...>
            > > wrote:
            > > >
            > > > In order to emulate Shift, you have to use '+' (rather then
            > > {SHIFT}).
            > > >
            > > > --Piotr
            > > >
            > > > --- In perlguitest@yahoogroups.com, "markmontemuro"
            > <montemur@s...>
            > > wrote:
            > > > >
            > > > > I'm trying to simulate using SendKeys to highlight text on an
            > > entry
            > > > > box. I use SendKeys("{HOME"); to mark the beginning of the
            text
            > > and
            > > > > then I tried SendKeys("{SHIFT}{END}"); to highlight the text
            > and
            > > only
            > > > > the END action seems to happen. I also tried
            > > > > SendKeys("{HOME}{SHIFT}{END}{DELETE}"); The curser moved from
            > > beginning
            > > > > to end, but the text is not highlighted.
            > > > >
            > > > > Any suggestions?
            > > > >
            > > > >
            > > > > I am also trying to simulate a double mouse click. Any
            > > suggestions?
            > > > >
            > > >
            > > What would your syntax be? I still can't get this to work with
            the
            > +.
            > > This is actually updating a perl TK Entry field. I can use the
            > HOME,
            > > SHIFT HOME key sequence from the keyboard, so I'm hoping I can do
            > > this from GUITEST.
            > >
            >

            Here is a simple program which shows the problem. When the highlight
            button is selected, the curser just goes to the end of the text. The
            text is not highlighted. Any suggestions?

            use Tk;
            use Win32::GuiTest qw(SendKeys );

            my $mw = MainWindow->new;

            my $e = $mw->Entry->pack;
            $e->insert(0, "Test String");

            my $f = $mw->Frame->pack;

            $f->Button(
            -text => "Highlight",
            -command => [\&highlight, $e]
            )->pack(-side => 'left');

            MainLoop;

            sub highlight
            {
            my $e = shift;
            $e->focusForce;
            SendKeys("{HOME}+({END}) {DELETE}");
            }
          • rmqa_group
            Hmmm, strange. The + (shift) modifier doesn t seem to work with either {HOME} or {END}. I ve not had need to use it in this combination, though +{TAB} seems
            Message 5 of 12 , Nov 9, 2005
            • 0 Attachment
              Hmmm, strange.

              The "+" (shift) modifier doesn't seem to work with either {HOME} or
              {END}. I've not had need to use it in this combination, though +{TAB}
              seems to work as expected.

              It also seems to "jam" the shift key, as switching to another
              application after the script, you may find the shift still engaged.

              You may have to resort to using the SendRawKey function instead...

              DH

              > Here is a simple program which shows the problem. When the
              highlight
              > button is selected, the curser just goes to the end of the text.
              The
              > text is not highlighted. Any suggestions?
              >
              > use Tk;
              > use Win32::GuiTest qw(SendKeys );
              >
              > my $mw = MainWindow->new;
              >
              > my $e = $mw->Entry->pack;
              > $e->insert(0, "Test String");
              >
              > my $f = $mw->Frame->pack;
              >
              > $f->Button(
              > -text => "Highlight",
              > -command => [\&highlight, $e]
              > )->pack(-side => 'left');
              >
              > MainLoop;
              >
              > sub highlight
              > {
              > my $e = shift;
              > $e->focusForce;
              > SendKeys("{HOME}+({END}) {DELETE}");
              > }
              >
            • Abhishek Singh
              Hi Guys Is there any method through which we can schedule a service (that can be restarted in every 30 minutes) running on Wndows 2000 Professional. Regards
              Message 6 of 12 , Nov 14, 2005
              • 0 Attachment
                Hi Guys



                Is there any method through which we can schedule a service (that can be restarted in every 30 minutes) running on Wndows 2000 Professional.



                Regards

                Abhishek


                ---------------------------------
                Yahoo! FareChase - Search multiple travel sites in one click.

                [Non-text portions of this message have been removed]
              • tobin_cataldo
                Has anybody found a solution to this without using SendRawKey? SendKeys( +({DOWN 100}) ); and{PGDN} jam the shift as well, without actually highlighting.
                Message 7 of 12 , Jun 9, 2006
                • 0 Attachment
                  Has anybody found a solution to this without using SendRawKey?

                  SendKeys("+({DOWN 100})");
                  and{PGDN} jam the shift as well, without actually highlighting.

                  --- In perlguitest@yahoogroups.com, "rmqa_group" <rmqa_group@...> wrote:
                  >
                  > Hmmm, strange.
                  >
                  > The "+" (shift) modifier doesn't seem to work with either {HOME} or
                  > {END}. I've not had need to use it in this combination, though +{TAB}
                  > seems to work as expected.
                  >
                  > It also seems to "jam" the shift key, as switching to another
                  > application after the script, you may find the shift still engaged.
                  >
                  > You may have to resort to using the SendRawKey function instead...
                  >
                  > DH
                  >
                  > > Here is a simple program which shows the problem. When the
                  > highlight
                  > > button is selected, the curser just goes to the end of the text.
                  > The
                  > > text is not highlighted. Any suggestions?
                  > >
                  > > use Tk;
                  > > use Win32::GuiTest qw(SendKeys );
                  > >
                  > > my $mw = MainWindow->new;
                  > >
                  > > my $e = $mw->Entry->pack;
                  > > $e->insert(0, "Test String");
                  > >
                  > > my $f = $mw->Frame->pack;
                  > >
                  > > $f->Button(
                  > > -text => "Highlight",
                  > > -command => [\&highlight, $e]
                  > > )->pack(-side => 'left');
                  > >
                  > > MainLoop;
                  > >
                  > > sub highlight
                  > > {
                  > > my $e = shift;
                  > > $e->focusForce;
                  > > SendKeys("{HOME}+({END}) {DELETE}");
                  > > }
                  > >
                  >
                • brentje
                  I think I have an explaination at least... Been checking out the GuiTest.XS code, since I m having a problem sending brackets through SendKeys. Appearently
                  Message 8 of 12 , Jun 28, 2006
                  • 0 Attachment
                    I think I have an explaination at least...

                    Been checking out the GuiTest.XS code, since I'm having a problem
                    sending brackets through SendKeys. Appearently there are 2 more
                    modifiers that aren't documented: the ( and the ). They are used as a
                    pseudo shiftlock. The + modifier only works for the very next
                    character after it, and the shift key is released after that character
                    is processed. Now you would hope that either using

                    SendKeys("{HOME}+{END}{DELETE}")

                    on a text field would do what you want...highlight all the text in a
                    text field and delete it. You would also hope that if that didn't
                    work, that

                    SendKeys("{HOME}({END}){DELETE}")

                    would work. BUT...whenever the SendKeysImp function in the
                    GuiTest.XS, the function called my SendKeys, processes a { character,
                    the Shift flag for either the + or ( modifiers gets reset and turned
                    off. So it's technically impossible to have it hold down the Shift
                    and any special keys at the same time using SendKeys.

                    As for it jamming the Shift key to be always on...still haven't
                    figured that out. It seems to happen whenever the ( and ) modifiers
                    are used as well. The Shift just doesn't disengage. I haven't had it
                    happen to me with the + modifier, and haven't tried the {SHIFT}
                    special key, but it definately happens with ( and ).

                    OH, and if you were like me and wondered how exactly you send the
                    literal characters instead of the modifier, just put it in squigly
                    braces {}. As in:

                    SendKeys("{(}This is in brackets{)}");

                    That should produce:

                    (This is in brackets)

                    So...I think you might be out of luck unfortunately. The only way
                    I've been able to do it is with the mouse.
                    Here's my function:

                    sub ClearEditControl
                    {
                    my $H_Control = shift;

                    my $i_Y = 0;
                    my $i_LeftX = 0;
                    my $i_TopY = 0;
                    my $i_RightX = 0;
                    my $i_BottomY = 0;


                    ($i_LeftX, $i_TopY, $i_RightX, $i_BottomY) = GetWindowRect(
                    $H_Control );

                    $i_Y = $i_TopY + (int(($i_BottomY - $i_TopY)/2));

                    tt_MoveMouse($i_LeftX, $i_Y);

                    SendLButtonDown();

                    tt_MoveMouse($i_RightX, $i_Y);

                    SendLButtonUp();

                    SendKeys("{DELETE}");

                    }

                    Good luck, and post your workaround if you find another one...

                    Brent


                    --- In perlguitest@yahoogroups.com, "tobin_cataldo" <tcataldo@...> wrote:
                    >
                    > Has anybody found a solution to this without using SendRawKey?
                    >
                    > SendKeys("+({DOWN 100})");
                    > and{PGDN} jam the shift as well, without actually highlighting.
                    >
                    > --- In perlguitest@yahoogroups.com, "rmqa_group" <rmqa_group@> wrote:
                    > >
                    > > Hmmm, strange.
                    > >
                    > > The "+" (shift) modifier doesn't seem to work with either {HOME} or
                    > > {END}. I've not had need to use it in this combination, though +{TAB}
                    > > seems to work as expected.
                    > >
                    > > It also seems to "jam" the shift key, as switching to another
                    > > application after the script, you may find the shift still engaged.
                    > >
                    > > You may have to resort to using the SendRawKey function instead...
                    > >
                    > > DH
                    > >
                    > > > Here is a simple program which shows the problem. When the
                    > > highlight
                    > > > button is selected, the curser just goes to the end of the text.
                    > > The
                    > > > text is not highlighted. Any suggestions?
                    > > >
                    > > > use Tk;
                    > > > use Win32::GuiTest qw(SendKeys );
                    > > >
                    > > > my $mw = MainWindow->new;
                    > > >
                    > > > my $e = $mw->Entry->pack;
                    > > > $e->insert(0, "Test String");
                    > > >
                    > > > my $f = $mw->Frame->pack;
                    > > >
                    > > > $f->Button(
                    > > > -text => "Highlight",
                    > > > -command => [\&highlight, $e]
                    > > > )->pack(-side => 'left');
                    > > >
                    > > > MainLoop;
                    > > >
                    > > > sub highlight
                    > > > {
                    > > > my $e = shift;
                    > > > $e->focusForce;
                    > > > SendKeys("{HOME}+({END}) {DELETE}");
                    > > > }
                    > > >
                    > >
                    >
                  • Piotr Kaluski
                    Hi, I have carefully checked what you have written. I have also run the script using Tk, attached below. Everything worked as expected. Below is the script,
                    Message 9 of 12 , Oct 14, 2006
                    • 0 Attachment
                      Hi,
                      I have carefully checked what you have written. I have also run the
                      script using Tk, attached below. Everything worked as expected.
                      Below is the script, which uses Notepad.

                      use Win32::GuiTest qw( :ALL );
                      my @wnd = FindWindowLike( 0, "Untitled - Notepad" );

                      SetForegroundWindow( $wnd[ 0 ] );
                      SendKeys( "{HOME}" );
                      sleep( 1 );
                      SendKeys( "+{END}" );
                      sleep( 1 );
                      SendKeys( "{DELETE}" );
                      print "\n";

                      It does exactly what is expected. It goes to beginning of the line, it
                      selects the whole line and then deletes it.

                      In order to get a shift pressed, you have to use +. If you want it to
                      be kept for more then one character, you take all to-be-shifted
                      characters in parens "()". "()" by themself only group characters. I
                      did not observe them working as a shift key.

                      And what do you mean by jaming? How does it manifest itself?
                      What windows version do you use?

                      --Piotr


                      --- In perlguitest@yahoogroups.com, "brentje" <brentje@...> wrote:
                      >
                      > I think I have an explaination at least...
                      >
                      > Been checking out the GuiTest.XS code, since I'm having a problem
                      > sending brackets through SendKeys. Appearently there are 2 more
                      > modifiers that aren't documented: the ( and the ). They are used as a
                      > pseudo shiftlock. The + modifier only works for the very next
                      > character after it, and the shift key is released after that character
                      > is processed. Now you would hope that either using
                      >
                      > SendKeys("{HOME}+{END}{DELETE}")
                      >
                      > on a text field would do what you want...highlight all the text in a
                      > text field and delete it. You would also hope that if that didn't
                      > work, that
                      >
                      > SendKeys("{HOME}({END}){DELETE}")
                      >
                      > would work. BUT...whenever the SendKeysImp function in the
                      > GuiTest.XS, the function called my SendKeys, processes a { character,
                      > the Shift flag for either the + or ( modifiers gets reset and turned
                      > off. So it's technically impossible to have it hold down the Shift
                      > and any special keys at the same time using SendKeys.
                      >
                      > As for it jamming the Shift key to be always on...still haven't
                      > figured that out. It seems to happen whenever the ( and ) modifiers
                      > are used as well. The Shift just doesn't disengage. I haven't had it
                      > happen to me with the + modifier, and haven't tried the {SHIFT}
                      > special key, but it definately happens with ( and ).
                      >
                      > OH, and if you were like me and wondered how exactly you send the
                      > literal characters instead of the modifier, just put it in squigly
                      > braces {}. As in:
                      >
                      > SendKeys("{(}This is in brackets{)}");
                      >
                      > That should produce:
                      >
                      > (This is in brackets)
                      >
                      > So...I think you might be out of luck unfortunately. The only way
                      > I've been able to do it is with the mouse.
                      > Here's my function:
                      >
                      > sub ClearEditControl
                      > {
                      > my $H_Control = shift;
                      >
                      > my $i_Y = 0;
                      > my $i_LeftX = 0;
                      > my $i_TopY = 0;
                      > my $i_RightX = 0;
                      > my $i_BottomY = 0;
                      >
                      >
                      > ($i_LeftX, $i_TopY, $i_RightX, $i_BottomY) = GetWindowRect(
                      > $H_Control );
                      >
                      > $i_Y = $i_TopY + (int(($i_BottomY - $i_TopY)/2));
                      >
                      > tt_MoveMouse($i_LeftX, $i_Y);
                      >
                      > SendLButtonDown();
                      >
                      > tt_MoveMouse($i_RightX, $i_Y);
                      >
                      > SendLButtonUp();
                      >
                      > SendKeys("{DELETE}");
                      >
                      > }
                      >
                      > Good luck, and post your workaround if you find another one...
                      >
                      > Brent
                      >
                      >
                      > --- In perlguitest@yahoogroups.com, "tobin_cataldo" <tcataldo@> wrote:
                      > >
                      > > Has anybody found a solution to this without using SendRawKey?
                      > >
                      > > SendKeys("+({DOWN 100})");
                      > > and{PGDN} jam the shift as well, without actually highlighting.
                      > >
                      > > --- In perlguitest@yahoogroups.com, "rmqa_group" <rmqa_group@> wrote:
                      > > >
                      > > > Hmmm, strange.
                      > > >
                      > > > The "+" (shift) modifier doesn't seem to work with either {HOME} or
                      > > > {END}. I've not had need to use it in this combination, though
                      +{TAB}
                      > > > seems to work as expected.
                      > > >
                      > > > It also seems to "jam" the shift key, as switching to another
                      > > > application after the script, you may find the shift still engaged.
                      > > >
                      > > > You may have to resort to using the SendRawKey function instead...
                      > > >
                      > > > DH
                      > > >
                      > > > > Here is a simple program which shows the problem. When the
                      > > > highlight
                      > > > > button is selected, the curser just goes to the end of the text.
                      > > > The
                      > > > > text is not highlighted. Any suggestions?
                      > > > >
                      > > > > use Tk;
                      > > > > use Win32::GuiTest qw(SendKeys );
                      > > > >
                      > > > > my $mw = MainWindow->new;
                      > > > >
                      > > > > my $e = $mw->Entry->pack;
                      > > > > $e->insert(0, "Test String");
                      > > > >
                      > > > > my $f = $mw->Frame->pack;
                      > > > >
                      > > > > $f->Button(
                      > > > > -text => "Highlight",
                      > > > > -command => [\&highlight, $e]
                      > > > > )->pack(-side => 'left');
                      > > > >
                      > > > > MainLoop;
                      > > > >
                      > > > > sub highlight
                      > > > > {
                      > > > > my $e = shift;
                      > > > > $e->focusForce;
                      > > > > SendKeys("{HOME}+({END}) {DELETE}");
                      > > > > }
                      > > > >
                      > > >
                      > >
                      >
                    • Piotr Kaluski
                      OK. I have the same problem. I got it on a machine with Polish version of XP. And in the same time it works fine on a machine with US XP. More investigation is
                      Message 10 of 12 , Feb 20, 2007
                      • 0 Attachment
                        OK. I have the same problem. I got it on a machine with Polish version
                        of XP. And in the same time it works fine on a machine with US XP.

                        More investigation is needed. But for sure there is a problem...

                        --Piotr

                        --- In perlguitest@yahoogroups.com, "Piotr Kaluski" <pkaluski@...> wrote:
                        >
                        > Hi,
                        > I have carefully checked what you have written. I have also run the
                        > script using Tk, attached below. Everything worked as expected.
                        > Below is the script, which uses Notepad.
                        >
                        > use Win32::GuiTest qw( :ALL );
                        > my @wnd = FindWindowLike( 0, "Untitled - Notepad" );
                        >
                        > SetForegroundWindow( $wnd[ 0 ] );
                        > SendKeys( "{HOME}" );
                        > sleep( 1 );
                        > SendKeys( "+{END}" );
                        > sleep( 1 );
                        > SendKeys( "{DELETE}" );
                        > print "\n";
                        >
                        > It does exactly what is expected. It goes to beginning of the line, it
                        > selects the whole line and then deletes it.
                        >
                        > In order to get a shift pressed, you have to use +. If you want it to
                        > be kept for more then one character, you take all to-be-shifted
                        > characters in parens "()". "()" by themself only group characters. I
                        > did not observe them working as a shift key.
                        >
                        > And what do you mean by jaming? How does it manifest itself?
                        > What windows version do you use?
                        >
                        > --Piotr
                        >
                        >
                        > --- In perlguitest@yahoogroups.com, "brentje" <brentje@> wrote:
                        > >
                        > > I think I have an explaination at least...
                        > >
                        > > Been checking out the GuiTest.XS code, since I'm having a problem
                        > > sending brackets through SendKeys. Appearently there are 2 more
                        > > modifiers that aren't documented: the ( and the ). They are used as a
                        > > pseudo shiftlock. The + modifier only works for the very next
                        > > character after it, and the shift key is released after that character
                        > > is processed. Now you would hope that either using
                        > >
                        > > SendKeys("{HOME}+{END}{DELETE}")
                        > >
                        > > on a text field would do what you want...highlight all the text in a
                        > > text field and delete it. You would also hope that if that didn't
                        > > work, that
                        > >
                        > > SendKeys("{HOME}({END}){DELETE}")
                        > >
                        > > would work. BUT...whenever the SendKeysImp function in the
                        > > GuiTest.XS, the function called my SendKeys, processes a { character,
                        > > the Shift flag for either the + or ( modifiers gets reset and turned
                        > > off. So it's technically impossible to have it hold down the Shift
                        > > and any special keys at the same time using SendKeys.
                        > >
                        > > As for it jamming the Shift key to be always on...still haven't
                        > > figured that out. It seems to happen whenever the ( and ) modifiers
                        > > are used as well. The Shift just doesn't disengage. I haven't had it
                        > > happen to me with the + modifier, and haven't tried the {SHIFT}
                        > > special key, but it definately happens with ( and ).
                        > >
                        > > OH, and if you were like me and wondered how exactly you send the
                        > > literal characters instead of the modifier, just put it in squigly
                        > > braces {}. As in:
                        > >
                        > > SendKeys("{(}This is in brackets{)}");
                        > >
                        > > That should produce:
                        > >
                        > > (This is in brackets)
                        > >
                        > > So...I think you might be out of luck unfortunately. The only way
                        > > I've been able to do it is with the mouse.
                        > > Here's my function:
                        > >
                        > > sub ClearEditControl
                        > > {
                        > > my $H_Control = shift;
                        > >
                        > > my $i_Y = 0;
                        > > my $i_LeftX = 0;
                        > > my $i_TopY = 0;
                        > > my $i_RightX = 0;
                        > > my $i_BottomY = 0;
                        > >
                        > >
                        > > ($i_LeftX, $i_TopY, $i_RightX, $i_BottomY) = GetWindowRect(
                        > > $H_Control );
                        > >
                        > > $i_Y = $i_TopY + (int(($i_BottomY - $i_TopY)/2));
                        > >
                        > > tt_MoveMouse($i_LeftX, $i_Y);
                        > >
                        > > SendLButtonDown();
                        > >
                        > > tt_MoveMouse($i_RightX, $i_Y);
                        > >
                        > > SendLButtonUp();
                        > >
                        > > SendKeys("{DELETE}");
                        > >
                        > > }
                        > >
                        > > Good luck, and post your workaround if you find another one...
                        > >
                        > > Brent
                        > >
                        > >
                        > > --- In perlguitest@yahoogroups.com, "tobin_cataldo" <tcataldo@> wrote:
                        > > >
                        > > > Has anybody found a solution to this without using SendRawKey?
                        > > >
                        > > > SendKeys("+({DOWN 100})");
                        > > > and{PGDN} jam the shift as well, without actually highlighting.
                        > > >
                        > > > --- In perlguitest@yahoogroups.com, "rmqa_group" <rmqa_group@>
                        wrote:
                        > > > >
                        > > > > Hmmm, strange.
                        > > > >
                        > > > > The "+" (shift) modifier doesn't seem to work with either
                        {HOME} or
                        > > > > {END}. I've not had need to use it in this combination, though
                        > +{TAB}
                        > > > > seems to work as expected.
                        > > > >
                        > > > > It also seems to "jam" the shift key, as switching to another
                        > > > > application after the script, you may find the shift still
                        engaged.
                        > > > >
                        > > > > You may have to resort to using the SendRawKey function instead...
                        > > > >
                        > > > > DH
                        > > > >
                        > > > > > Here is a simple program which shows the problem. When the
                        > > > > highlight
                        > > > > > button is selected, the curser just goes to the end of the
                        text.
                        > > > > The
                        > > > > > text is not highlighted. Any suggestions?
                        > > > > >
                        > > > > > use Tk;
                        > > > > > use Win32::GuiTest qw(SendKeys );
                        > > > > >
                        > > > > > my $mw = MainWindow->new;
                        > > > > >
                        > > > > > my $e = $mw->Entry->pack;
                        > > > > > $e->insert(0, "Test String");
                        > > > > >
                        > > > > > my $f = $mw->Frame->pack;
                        > > > > >
                        > > > > > $f->Button(
                        > > > > > -text => "Highlight",
                        > > > > > -command => [\&highlight, $e]
                        > > > > > )->pack(-side => 'left');
                        > > > > >
                        > > > > > MainLoop;
                        > > > > >
                        > > > > > sub highlight
                        > > > > > {
                        > > > > > my $e = shift;
                        > > > > > $e->focusForce;
                        > > > > > SendKeys("{HOME}+({END}) {DELETE}");
                        > > > > > }
                        > > > > >
                        > > > >
                        > > >
                        > >
                        >
                      Your message has been successfully submitted and would be delivered to recipients shortly.