The enabled/disabled state of a smart tag is stored in the Status flag for the recognizer interface. Smart tags are registered in the following location:
HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Smart Tag
You can register smart tag DLLs on the system by using either the ProgID or CLSID for the interface. Currently, Word and Excel use the Status flag to enable or disable the smart tag in the application. If the Status flag does not exist, the smart tag is enabled. To disable the smart tag in Word, set the Status flag at bit 8 (0x08). To disable the smart tag in Excel, set the Status flag at bit 16 (0x10). To disable the smart tag for both programs, combine the values for Excel and Word and set the Status flag to 0x08 + 0x10 = 0x18.
How to Register Smart Tag DLLs by Using CLSIDs instead of ProgIDs
When you build a smart tag DLL where both the
ISmartTagAction and
ISmartTagRecognizer interfaces are implemented, a ProgID for both interfaces is created in the registry. The ProgID is mapped to a CLSID, which is also contained in the registry.
To register the DLL by using its CLSID instead of its ProgID, follow these steps. The SimpleTerm.dll that is created in the "Visual Basic Tutorial: Creating a List Recognizer and Action" in the Microsoft Office Smart Tag SDK is used as an example.
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may
require you to reinstall your operating system. Microsoft cannot guarantee that you can solve
problems that result from using Registry Editor incorrectly. Use Registry Editor at your own
risk.
- Open Registry Editor. To do so, click Start, click Run, and then type regedit in the Run box.
- To find the CLSID for the action interface, open the following registry key:
HKEY_CLASSES_ROOT\SimpleTerm.SmartTagAction\Clsid
In this example, SimpleTerm.SmartTagAction is the ProgID for the action interface.
- Copy the value of the CLSID of the action interface that is in the Clsid folder.
- Locate the following registry key where changes will be made:
HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Smart Tag\Actions\SimpleTerm.SmartTagAction
- Rename the SimpleTerm.SmartTagAction key and replace the value with the CLSID that you copied in step 3.
- Repeat steps 2 through 5 for the Recognizer interface. You can obtain the CLSID for the recognizer interface from the following key:
HKEY_CLASSES_ROOT\SimpleTerm.SmartTagRecognizer\Clsid
The registry changes will be made to the following key:
HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Smart Tag\Recognizers\SimpleTerm.SmartTagRecognizer
NOTE: Be aware that if the
Version Compatibility option on the
Component tab of the
SimpleTerm Properties submenu in Visual Basic is set to
No Compatibility, a new CLSID is generated every time that you recompile. If it is set to
Project Compatibility or
Binary Compatibility, the CLSID remains the same when you recompile.