IntelliComplete Server is meant for software authors to
integrate IntelliComplete technology into their applications.
It's NOT for end users. End users please go to the page
of IntelliComplete Pro.
Server (ICS) provides smart autocompletion to any editors
running on MS windows through a flexible and simple programming
interface. It's esp. ideal to be integrated with programming
editors since there are many long and frequently-used identifiers
in program source code.
is a FREE for integration with ANY standalone word processors
or editors. But I'd appreciate it if you give me a polite
notice if you decide to integrate your application with
ICS. I'd be glad to help you with any technical problems.
are interested in our system-wide autocompleter-IntelliComplete
Professional, please click here.
ICS doesn't run as a plug-in dll. Not that I don't want
to run ICS in that way. The reason is that ICS is a multiple-threading
application for high-efficiency retrieving. If it runs as
a plug-in dll, the host program will have to deal with the
multiple-threading technicalities and the interface will
be much more complex. Instead, ICS runs as an invisible
server application. What the host program need do is to
initialize, communicate with and terminate the server application.
The interface is similar to Microsoft COM technology and
our interface is much simpler to use.
binary setup file
Download and install the above file to setup IntelliComplete
Server on your system.
This package includes interfacing source code and sample
applications in VC6, VB6 and Delphi 6.
Running the Sample Application
Please make sure you have installed ICS on your system
before testing the interfacing source code and sample applications.
You can choose from the available programming language versions
at your own preference.
Please notice that the following text is based on the Visual
C++ version. The symbol name will be the same in other version.
The syntax and notations will be different to a small extent,
- CString GetICSPath()
Automatically detect the path of ICS, "c:\program
files\ics\icserver.exe" by default. If ICS is not
detected, it will return a blank string. Even if it returns
a valid path string, you may still want to test whether
the file actually exists for safety.
- BOOL AddProcess()
Add the current process into the client process list of
ICS. If ICS is not already loaded, it'll be loaded automatically.
- BOOL RemoveProcess()
Remove the current process from the client process list
of ICS. When the client process list is empty, ICS will
- HWND LoadICS()
Load ICS if it's not already loaded. It doesn't matter
if you call it after ICS is already loaded. ICS ensures
a single instance automatically. It returns ICS main window
handle if successful. Otherwise, it returns NULL. You
are advised to call AddProcess() instead of LoadICS()
to initialize ICS at the startup of your application to
be friendly with other ICS clients.
- void QuitICS()
Terminate ICS. You are advised to call RemoveProcess()
instead of QuiteICS() to be friendly with other ICS clients.
- HWND GetICSWnd()
Return the handle of ICS main window (an invisible one).
If ICS is not installed or not loaded, it will return
NULL. You may want to test whether it's a valid handle
- ShowMenu (int x, int y)
Display ICS configuration menu at screen coordinate (x,
Recommended Calling Sequence
- Call AddProcess() at startup to establish
a connection with ICS. If the connection is successful,
ICS will start supplying smart autocompletion to your
application at the same time of typing.
- Allocate a drop-down button for ICS on the toolbar.
When the user clicks the drop-down arrow, call ShowMenu(int
x,int y) to display ICS configuration menu.
- Call RemoveProcess() to terminate the
connection with ICS when your application is exiting.
Run the host application and check that ICS is loaded
automatically. You should see icserver.exe in the process
list of task manager. Try typing some letters in the host
application and you will see matching words prompted. You
can press the corresponding digits (1-9) to autocomplete
the n-th word. Use ICS configuration menu to play with the
different options of ICS.
Feel free to read through the source code to see what it's
doing exactly. Everything is simple and easy. If you have
more questions, please contact
Applications seamlessly integrated with ICS
The Teachers' Pro