Thing is, there was no error. If there had been, I would of course have included it in my initial message. All I got, was that the desired window did not get activated and focused. No error, no other message. That's why I was so puzzled.
----- Original Message ----- From: Doug Geoffray To: [email protected] Sent: Monday, January 30, 2012 6:39 PM Subject: Re: Activating a window - help needed 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 To: [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
