A search across multiple programs can be conducted, whether or not a
particular program is active. After a search is conducted, search results
can be displayed from programs that are in use and those that are not
currently in use when the search is initiated. Upon selection of a search
result, the program supporting the selected result can be launched if it
is not already in use and can become the active program. Once the program
supporting the selected result becomes active, the search result can be
pre-populated within the search engine of the program. Therefore, search
strategy across multiple programs is unified while sharing of search
output data across multiple programs is facilitated. This sharing of data
makes information across multiple separate programs more readily
accessible. Also, a consistent user interface for searching across
multiple programs is presented. This interface can eliminate the learning
of multiple search techniques that are dependent upon a unique search
engines of respective programs.