At Wits End!!! How to Bring App to Front on Windows???
Dave
dave at looktowindward.com
Thu Jul 10 08:17:10 EDT 2008
Hi All,
The following function works fine on Mac but on PC it doesn't seem to
work 100% of the time.
I've checked this and the window title etc. is set correctly and if I
run the same JavaScript from shell it brings the app/window to the
front ok.
Here's the flow:
Launch Application
Application Launches iTunes and Internet Explorer.
---At this point the Application NOT in front, iTunes is.
So, I want to bring the Application to the Front, the function below,
runs and selects the correct window, but it just won't go to the
front! I've been trying to make this work on and off for 1.5 days now
and just can't seem to find a solution.
One thing that I really can't understand is why RunRev doesn't have a
in-built way of bringing the Application to the Front? It seems like
a really basic thing to want to do!
Anyone with any ideas on this? I really need to get this working ASAP
as I have to do a release tomorrow and this is the last remaining
problem.
Thanks a lot
All the Best
Dave
------------------------------------------------------------
--
-- BringToFront
--
-----------------------------------------------------------
function BringToFront theServiceKindToActivate
local myAppleScriptCode
local myAppleScriptResult
local myErrorString
local myJavaScriptCode
local myShellResult
local myJavaScriptResult
local myAppName
local myStackLongID
local myWindowTitle
set the itemDelimiter to "/"
put item -1 of the address into myAppName
put ISMGetStackForService(theServiceKindToActivate) into
myStackLongID
if myStackLongID <> empty then
put the title of myStackLongID into myWindowTitle
end if
--
-- Different things for Different Platforms
--
switch the platform
--
-- Handle Mac
--
case "MacOS"
put "tell application " & UtilStringAddQuotes(myAppName) & " to
activate" & cr into myAppleScriptCode
do myAppleScriptCode as "AppleScript"
put the result into myAppleScriptResult
put "Error in LibAppleScriptiGenXBringToFront:" into myErrorString
if LibAppleScriptiTunesCheckReturnValue
(myAppleScriptResult,false,"LibAppleScriptiGenXBringToFront",myErrorStri
ng) = false then
return myAppleScriptResult
end if
put UtilStringRemoveQuotes(myAppleScriptResult) into
myAppleScriptResult
if paramCount() <> 1 then
breakpoint
end if
return myAppleScriptResult
break
--
-- Handle Windows
--
case "Win32"
put "var Shell = WScript.CreateObject(" & UtilStringAddQuotes
("wscript.shell") & ");" & cr into myJavaScriptCode
--put "Shell.activate(" & UtilStringAddQuotes(myAppName) & ");"
& cr after myJavaScriptCode
put "Shell.activate(" & UtilStringAddQuotes(myWindowTitle) &
");" & cr after myJavaScriptCode
put cr & cr & cr after myJavaScriptCode
put LibScriptExecuteCode
(myJavaScriptCode,"GenXBringToFront","JavaScript",myShellResult) into
myJavaScriptResult
if myJavaScriptResult <> empty then
breakpoint
return myJavaScriptResult
end if
break
end switch
return empty
end BringToFront
More information about the use-livecode
mailing list