Yes very useful and one to put in the scrap book.
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Scott Rossi
> Sent: Friday, 26 January 2001 8:05 AM
> To: [EMAIL PROTECTED]
> Subject: Re: launch browser problem
>
>
> Recently, I wrote:
>
> >> FWIW, I've found you have to do a lot more jumping through
> hoops than what
> >> is available in the sample stack due to quirky behavior of
> >> Internet Explorer
> >> and possibly DDE in general. The problem is IE doesn't always
> make itself
> >> known to the appsopen external on certain systems, so in my
> case, I had to
> >> use a combination of the launch command and DDE to make sure URLs got
> >> launched appropriately in this browser.
> >>
> >> Also, this may be a Windows thing or MetaCard thing, but rapid
> successive
> >> attempts to launch a URL can fail, making the launch process
> useless and
> >> requiring a restart of the browser and/or MC (I can't recall
> which). If
> >> there is any chance of a user repeatedly clicking on a launch
> control, you
> >> would be wise to prevent these multiple launch requests using a
> >> timer and/or
> >> busy cursor. In my experience a delay of 2 to 3 seconds
> appeared to work
> >> consistently under testing on Win95, 98 and 2000 systems.
>
>
> Then, Monte Goulding wrote:
>
> > Would it be possible for you to post the script to the list.
>
>
> The following script is what I wound up using. One thing that developers
> may forget is that not only do users have a default browser but
> they have a
> "currently running browser" which may or may not be the default. It would
> be silly to launch IE if Netscape was currently active, and vice versa, so
> the script tries to take this possibility into account and launches
> appropriately. As mentioned above, this requires Tuviah's excellent
> externals collection.
>
> In our case, we knew that users would primarily use IE or Netscape, and
> since Netscape appears to behave better than IE, I tested for
> Netscape first
> and defaulted to IE if Netscape wasn't the default browser or running.
>
> The global variable gLaunchBusy must be tested by any control
> making a call
> to the browser launch handler; if the global is true then the call to the
> handler should be canceled to prevent multiple DDE requests and possible
> browser launch failures.
>
> (Note: queryRegistry line is wrapped)
>
>
> # BROWSER LAUNCH HANDLER
> launchBrowser tURL
> launchDelayTimer
> put word 1 to -2 of queryRegistry("hkey_local_machine\software\
> classes\http\shell\open\command\") into defBrowser
> # CHECK IF BROWSER IS ALREADY OPEN AND LAUNCH URL
> if "Netscape" is in ext_appsopen() then
> ext_ddeexecute "NSShell","WWW_OpenURL",tURL
> exit to metacard
> end if
> if "Internet Explorer" is in ext_appsopen() then
> ext_ddeexecute "IExplore","WWW_OpenURL",tURL
> exit to metacard
> end if
> # LAUNCH BROWSER WINDOW
> launch tURL with defBrowser
> if "already open" is in the result then
> if "IExplore" is in defBrowser then \
> ext_ddeexecute "IExplore","WWW_OpenURL",tURL
> else ext_ddeexecute "NSShell","WWW_OpenURL",tURL
> end if
> end launchBrowser
>
>
> on launchDelayTimer
> global gLaunchBusy
> set lockCursor to true
> set cursor to watch
> put true into gLaunchBusy
> send "resetDelayTimer" to me in 2 seconds
> end launchDelayTimer
>
>
> on resetDelayTimer
> global gLaunchBusy
> put false into gLaunchBusy
> set lockCursor to false
> # THIS GOOFY WORKAROUND FORCES AN UPDATE OF THE CURSOR
> # WHICH DOESN'T AUTOMATICALLY OCCUR ON SOME SYSTEMS
> get the screenMouseLoc
> set the screenMouseLoc to item 1 of it + 1,item 2 of it + 1
> end resetDelayTimer
>
>
> Hope this is useful.
>
> Regards,
>
> Scott
>
> _____________________________________________________________________
> Scott Rossi Tactile Media - Multimedia & Design
> Creative Director Email: [EMAIL PROTECTED]
> Web: www.tactilemedia.com
>
>
> Archives: http://www.mail-archive.com/[email protected]/
> Info: http://www.xworlds.com/metacard/mailinglist.htm
> Please send bug reports to <[EMAIL PROTECTED]>, not this list.
>
>
Archives: http://www.mail-archive.com/[email protected]/
Info: http://www.xworlds.com/metacard/mailinglist.htm
Please send bug reports to <[EMAIL PROTECTED]>, not this list.