Determining Whether an Application Process is Hidden
The Macintosh portion of this code is implemented in AppleScript, and the Windows portion is implemented using
the PrcView* command line utility, and assumes that you have put the
pv.exe application in
the same directory as your standalone (i.e. the default "directory").
Note that both “background-only” processes as well as processes that have been hidden by choosing Hide <appname> are considered hidden to the Finder. In Windows, applications that do not have a visible window are considered hidden; there is no user-accessible "hide" command as there is in Macintosh.function IsHidden pProcessName switch (the platform) case "MacOS" put "tell application" && q("Finder") && cr & \ "set tResult to the visible of process " & q(pProcessName) & cr & \ "return tResult" & cr & \ "end tell" into tScript do tScript as AppleScript put the result into tHidden if tHidden = "execution error" then return "Process not found." break case "Win32" set the hideConsoleWindows to true put shell("pv -q") into tProcList if matchText(cr&tProcList&cr,"\n" & pProcessName & tab) is false then return "Process not found." else put shell("pv -w -q") into tProcList put "" into tProcesses put true into tHidden repeat for each line tProc in tProcList put item 1 of tProc into tProc if tProc = pProcessName then put false into tHidden exit repeat end if end repeat end if break end switch return tHidden end IsHidden function q what return quote & what & quote end q
* PrcView is a command line utility developed by Igor Nys, and can be downloaded at http://www.prcview.com/. PrcView is free for personal use or to be distributed with freeware applications; for shareware or commercial use, please contact Igor. Licensing costs are very reasonable, and he is very willing to work with you to make it worth your while to use his application.
Posted 12/26/02 by Ken Ray