David,

Since the line you had would of generated an error and a line number, it would be helpful to let us know the exact error and line of code. That saves us from having to think of all the possible problems that a script could have and focus on the real problem at hand.

Doug

On 1/30/2012 12:34 PM, David wrote:
Thanks Doug. The Desktop command was the problem. I changed it to DesktopWindow, and everything worked right away. Got me a couple of steps further in the development. Thanks again.

    ----- Original Message -----
    *From:* Doug Geoffray <mailto:[email protected]>
    *To:* [email protected] <mailto:[email protected]>
    *Sent:* Monday, January 30, 2012 3:06 PM
    *Subject:* Re: Activating a window - help needed

    David,

    Along with Aaron's comment, it would be nice to know exactly the
    problem you are getting.  Are you getting a script error?  Is the
    window just not getting activated and/or focused?  Are you sure
    the overlap of the window you have can be activated?

    I did see in your code you have:

    Set FWin = Desktop.Children.Find( WinHandle )

    This should of failed because Desktop is not a property of
    Application.  I'm sure you meant:

    Set FWin = DesktopWindow.Children.Find( WinHandle )

    So you should of gotten an error on that line.  Something like
    "Object required: 'desktop'"

    But just to show what you are trying is possible, I launched
    Notepad, brought up immed and typed the following 2 lines (The
    second line is really 2 lines of VBScript but I needed the
    activate and focus to be on the same line):

    Set myWindow =
    DesktopWindow.Children.FilterByClassAndModule("edit", "notepad")(1)
    myWindow.Overlap.Activate : myWindow.Focus

    I purposefully looked for the edit box of Notepad.  After finding
    that window I activated its overlap and than focused the edit
    itself.  This worked perfectly.

    Doug

    On 1/29/2012 7:22 PM, David wrote:
    I am attempting to write a small  app, that has a feature of
    ""Switching" to a given window that is already open on my
    computer. Let's just for the example say, that I have a Notepad
    window open on my system. My app scrolls through all the Children
    windows of the desktop, and finds the one for Notepad. I then let
    it derive the handle for that window. So far, the app works just
    fine.
    The problem arises when I try to Activate, and Focus the newly
    found Window. I have been looking on a couple of other apps, that
    I thought could have lead me in right direction, but without any
    luck (they simply got too complicated for my brain). Then also, I
    have been spending a couple of hours with that App developers
    Reference under the Help menu in WE. Still I don't grasp why my
    app won't switch to the found window.
    Here is the troublesome code, that I cannot get to work. What am
    I doing wrong? Maybe I am totally astray here? Thanks for your
    feedback:
    Dim WinHandle
    ' My app search for the window I want, and fills in this variable
    with the Window Handle, just fine. I won't copy that few lines here.
    ' Then comes the section I apparently have got wrong:
    Sleep 2000 'Just tried to give the app enough time here.
    dim FWin: Set FWin = Desktop.Children.Find( WinHandle )
    ' This line, I thought, would find the correct window, and make
    it ready for activation.
    FWin.Overlap.Activate
    ' To Activate the Window, or it's Overlap.
    FWin.Focus
    ' I had hoped, this would have focused me on the actual window.
    But such is not the case.
    Sleep 1000
    ' A last sleep command, just to let things settle.
    End of code snip

Reply via email to