IntHelp


Robert Srna, 2007 e-mail
inthelp.ic.cz
Download the utility

Overview

The common requirement for each developer (at least of my type, haha) is the help. Whether I'm working with Oracle database or coding in .Net there are for me very important Google or local documents.

Coding with Oracle is the area where I'm usually missing contextual help - sorry everybody but Microsoft tools are some how more mature in this area. Of course - you can use PLSQL developer - the only tool that has Html manuals functionality - but what about SQL plus or Toad?

Well you can use IntHelp. Following bullets help you understand why I'm using it:
· The same approach in querying my questions
· Querying my bookshelf - tired of questions - where did I read about it?
· Ability to complex queries
· Use in non-development tools - case, document editors etc.
· New support of google search in version 1.1 from the April 2007 (or any other program with parameters)

How it works

IntHelp is utility you can see in system tray. When minimized it listens to your key typing and when you press a favorite key in you application it runs the query (based on selected text) via Google or Windows Desktop Search (as you wish). Your application set and query parameters are written once to the IntHelp as you can see in following chapters.

Figure 1 – After pressing a key, a document in Windows Search Desktop is launched.

Figure 1b – Here the google was launched when pressing F3 in PSPad.

What to do

These are requirements:
· Configured IntHelp (requires .Net framework 2) - be careful when using data.xml from previous version. New version (1.1) requires new nodes. The best way is to setup the configuration from the scratch.
·· Optionally Installed Windows Desktop Engine - currently tested with 2.6.6
·· Optionally Installed documents on filesystem (hard disk or corporate network) - the best method is to use html documents (you can find) - a pdf with 800 pages is fine but to find the exact page is litle bit tricky

How to configure IntHelp

It is necessary to tell the program in what windows it will listen to your special commands. For this you have to use a window title that is checked when pressing a key. It is only a part of title that can be seen in every application.

Figure 2 – maintaining an application list. Notice the columns with statistics of keyboard actions. Also notice the green question mark in systray. For row manipulation use mouse and keyboard Delete, or point the row with the star.

When the Windows Desktop Queries will be made than we must specify some parameters for invoking the search.
The "filename:(statements OR functions OR sql_elements)" query will be finally formed into for example "("USE_NL" filename:(statements OR functions OR sql_elements))" query. It requires searching for USE_NL in filenames their name is beginning with statements, functions or sql_elements. These are the help files used in Oracle html documentation for SQL, PLSQL.

Figure 3a – Similar functionality can be achieved via integrating google search. Launching web explorer with seleted text like a query is quite easy. On the Launchers tab these are the meaning of columns:
· Description - for mapping on the help items tab
· OSFile - executable to be launched
· OSArgs - first argument when launching the executable - other arguments are created inside IntHelp to form the full executable command like
"C:\Program Files\Windows Desktop Search\WindowsSearch.exe" /url search-ms:("something" filename:(statements OR functions OR sql_elements)) OR ("something" foldername:c:\books\c++\)
or
iexplore http://www.google.com/search?hl=en&q="something" site:first.edu "something" site:second.com
· QueryBegin/QueryEnd/MultipleQueryOperator - items for generating arguments when multiple help items match the IntHelp search (e.g. more web resources then one associated with an application).

Figure 3b – Help item list - the functionality has been extended for launcher association. For row manipulation the add/delete buttons have to be used. Notice the two groups of launchers: Google and WindowsSearch.

The most important is to map applications to help items. The grid is used only for row pointing - for manipulation use comboboxes, buttons or key text field. There can be mapped multiple documents for one applications and use the same key launcher.

Figure 4 – Mapping of help items to applications

Application setting

This utility needs some configuration value (usually in file IntHelp.exe.config) to be set:
· DataFileName - indicated the value of the file where above mentioned configurations will be saved.
· StartMinimized - when set to true the application is minimized (so it is in listening mode) after its run
· SleepAfterHelpLaunch - value in milliseconds - the Window Desktop Search window will be detecting during these time period so it can be recognized
· WindowsSearchExePath - the executable to be run when the help key is pressed - not required anymore
· WindowsSearchLaunchCmd - the command sent to Exe to show the query window and run the query command - not required anymore

Figure 5 – Configuration settings example

Other info

You can use this software as freeware. I'd like to thank to these folks:
· George Mamaladze - for his key strokes C# code that can be found at http://www.codeproject.com/csharp/globalhook.asp
· Alessio Deiana - for his clipboard utility from http://www.codeproject.com/cs/system/clipboard_backup_cs.asp

Known problems (bugs):
· in Visual studio you have to especially press the ctrl+c key combination to put the text into the IntHelp


IntHelp 1 4.0 Award IntHelp Antivirus report from QArchive.org www.vista-files.org