IE8 hangs after Heardword "maximize"

I just upgraded to IE8 from IE 6. I am running DNS 7.3 on Windows XP.

An advanced scripting macro of mine that uses the command Heardword "maximize" to maximize the Internet Explorer window created by the macro caused Internet Explorer to hang. DNS also hung, maybe because the macro used ActiveX to create and control this Internet Explorer instance. Killing IE8 with the task manager did not free up DNS.

On further investigation I discover physically pressing alt - space also cause IE8 to hang when DNS is loaded. Saying "maximize" or "minimize" voice commands will cause Internet Explorer 8 to hang, with IE8 CPU activity reaching into the high nineties.

Clicking the window buttons with the mouse using voice commands works OK.

Internet Explorer 8 and all the window menu buttons in the upper left and upper right corners behave normally if DNS is shut down.

The macro works if I comment out the Heardword "maximize" command.

So,
has anyone else experienced similar problems with IE8 and any version of DNS? Is there a fix?

Based on people's knowledge of the inner workings of DNS, does this conflict mean that other related functions or commands are also in conflict?

-Don

Running Windows XP service pack two, an a Compaq Pentium 4 machine, 1GB of memory, 2.53 giggle hurts CPU.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Chuck Runquist's picture

Don, This is a known issue.

Don,

This is a known issue. The bottom line is that the Internet Explorer commands "maximize window" and "minimize window" work fine.

Just don't use the commands that you're using: (a) because they cause IE to hang, and (b) because the Internet Explorer Natural Language Commands are designed to function properly. If you're going to use "maximize" or "minimize" do it from the system menu. Otherwise, use the IE Natural Language Commands because they work and don't hang i.e.

bottom line is why create a macro (script) to do what DNS already has built-in that does exactly the same thing and doesn't cause a problem. You can do anything you want in IE 7 and IE 8 by using the built-in commands without having to write any scripts. They're already there and they work.

Chuck Runquist
Technical Project Manager
VoiceTeach LLC

If there's more than one way to do a job, and one of those ways will result in disaster, then somebody will do it that way. (variant of Murphy's law - Edward A. Murphy, Jr.)

Sorry, I made a mistake in

Sorry, I made a mistake in my post. The scripting code that is causing the problem is

     HeardWord "maximize", "window"

And the corresponding voice commands that cause the problem are "maximize window" and "minimize window".

If the "Internet Explorer Natural Language Commands" are different, let me know. I have "Enable Natural Language Commands" and "Enable special commands in Internet Explorer" checked in my options.

Chuck Runquist wrote:

Don,

... bottom line is why create a macro (script) to do what DNS already has built-in that does exactly the same thing and doesn't cause a problem ...

I write scripting commands when I can reduce many steps into one command.
For example:

  1. Start Internet Explorer
  2. Maximize Internet Explorer in case it opened at some partial size from a previous session.
  3. Put the focus in the second text box
  4. Type "username"
  5. Tab over to the next sequential text box
  6. Enter the password
  7. Send an enter key

Can all be done by one scripting command, saving time and vocal effort. Losing the ability to maximize the window with the scripting command is a minor irritation, but it does make me wonder what else might be wrong.

Also, I'm always keen on suggestions for better ways to do things like the above command example.

Chuck Runquist wrote:

If there's more than one way to do a job, and one of those ways will result in disaster, then somebody will do it that way. (variant of Murphy's law - Edward A. Murphy, Jr.)

So how can I get a job as a beta tester?

Chuck Runquist's picture

Don, Problem is then that

Don,

Problem is then that the HeardWord "maximize", "window" is executing too slowly, which is not uncharacteristic with HeardWord being that it is a carryover from the earlier versions of DNS legacy scripting.

Try just saying maximize window or minimize window. I've never had these fail. I can even say "system" and then say anything in the drop-down list from the system folder. Let me know if you have a problem with these. I would find it highly unusual if you do. I use these every single day without any difficulty whatsoever and I've been using these since the Beta version of IE 7.

As far as becoming a Beta tester, that's entirely up to Nuance. You have to take that up with them.

Chuck Runquist
Technical Project Manager
VoiceTeach, LLC

A little bit of knowledge is dangerous, a lot of knowledge is just plain fatal.

Chuck Runquist wrote: As far

Chuck Runquist wrote:

As far as becoming a Beta tester, that's entirely up to Nuance. You have to take that up with them.

Maybe you could refer him to the Irony Department.

Bruce

even if I speak maximize window

Chuck Runquist wrote:

Don,

Try just saying maximize window or minimize window. I've never had these fail. I can even say "system" and then say anything in the drop-down list from the system folder. Let me know if you have a problem with these. I would find it highly unusual if you do. I use these every single day without any difficulty whatsoever and I've been using these since the Beta version of IE 7.

Yeah, that's one of the things I'm saying, even if I speak "maximize window," or "minimize window", Internet Explorer 8 hangs up.

If I say "system", the mouse moves over the "system" button in the upper left-hand corner of the window. The "results box" then, very helpfully, moves under the mouse, surrounds itself in a dark blue border, and shows the word "system" briefly. Internet Explorer does nothing.

Maybe it's time to "anchor" the results box someplace out of the way. (Or, perhaps, rename it the "unexpected results box." [Bruce: if the Irony Department has no openings, I'm sure I have a lot to offer the Puns Department])

Now, with a safely anchored "results box," if I say "system", the mouse moves up to the system menu and opens it. And when I say "minimize" with the drop-down list, Internet Explorer minimizes.

This is progress! Smiling, but it doesn't resolve the spoken "maximize window"/"minimize window" or the Heardword problem, they still hang IE8.

If these around the only surprises from upgrading to IE8, I think I can get along okay. "System" is a useful workaround, thank you Chuck. I'll try using it in the macro, also. I'll report back if it works.

maximize with API calls

How about this alternative for maximize window? It can also of course be copied in the original macro as discussed above, therefore saving a heardword command. It could also be optimised to check the state of the window before it does the ShowWindow call.

Quintijn

Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As _
Long, ByVal nCmdShow As Long) As Long
Declare Function GetForegroundWindow Lib "user32" () As Long
Const SW_RESTORE=9
Const SW_SHOWMAXIMIZED = 3

Sub Main
' window handle,wRect width,height,x-coord of top left-hand corner,y-coord of tlhc
hwnd = GetForegroundWindow()
ShowWindow(hwnd, SW_SHOWMAXIMIZED)
End Sub

Don Nicklas wrote: [Bruce:

Don Nicklas wrote:

[Bruce: if the Irony Department has no openings, I'm sure I have a lot to offer the Puns Department]

Don,

I might have been able work for an outfit that had a "Puns and Irony" department Eye-wink

BTW, let us know if the Quintijn's suggestion works out.

Bruce

Many thanks to Chuck and

Many thanks to Chuck and Quintijn.

Just finished experimenting, successfully. I now have three ways to skin this cat.

First, HeardWord "System" works:

HeardWord "System" ' show system drop-down list
Wait 1
SendKeys "{Down 5}" ' key down to the maximize choice
Wait 1
SendKeys "~" 'press the enter key

Second, Quintijn's code works as is.

Third, I can get the hwnd value from the Internet Explorer object to eliminate any possibility that another window might pop up and be identified by the GetForegroundWindow function:

' Requires a reference to Microsoft Internet Controls (1.1)

Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As _
Long, ByVal nCmdShow As Long) As Long
Const SW_RESTORE=9
Const SW_SHOWMAXIMIZED = 3


Sub Main

Dim IE_session As New InternetExplorer
ShowWindow(IE_session.HWND, SW_SHOWMAXIMIZED)

end sub

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


Syndicate content