The TSF Samples are Here!

The TSF samples (long missing from MSDN) have finally been uploaded to the MSDN Code Gallery.  The documentation is also available (in plain-text form) in each sample.  MSDN’s web page should be updated soon to point to the code gallery.


Where are the TSF Samples?

Many people have emailed me asking about the TSF samples on MSDN.  They’re supposed to be on MSDN code gallery, although they don’t appear to be there. They are, however, part of the Windows SDK. After installation, you’ll find them in %programfiles%\Microsoft SDKs\Windows\v6.1\Samples\winui\Input\tsf. There are actually more samples in the Windows SDK than were on…


More ways to fix problems with dictation

One common cause of dictation not working is that CTFMon is not running.  This is a helper process used by the Text Services Framework to implement things like global compartments and the like. If dictation is not working, try running this command from an elevated command prompt: schtasks /Query /TN \Microsoft\Windows\TextServicesFramework\MsCtfMonitor (all on one line)…


Inline Dictation commands

I’ve heard from a number of sources that there isn’t any good documentation about the ‘inline’ dictation commands.  These commands can be uttered in the middle of a dictation stream (in other words, you don’t have to stop speaking to use these commands), and are used to guide the Speech Recognition Engine to produce the…


Crypto History

David LeBlanc wrote an excellent overview of encrypted documents in Office.  A long, long time ago, I worked on the Word conversions team (it wasn’t even called Office then).  As part of my job, I wrote a document encryption filter.  More specifically, I wrote (around 1990 or so) a document obfuscation filter.  I say ‘obfuscation’…


What Isn’t TSF good for?

Well, for one thing, it’s not that great for grabbing the current selection in the foreground application.  There are several problems here: 1) You have to get your text service loaded into the target application. This can be slow. 2) Once your text service is loaded, you can only really work with TSF-enabled applications, which,…


When Dictation doesn’t Work

WSR Dictation should always work in Wordpad.  If you’re having problems with dictation, make sure it works in Wordpad.   If dictation doesn’t work in WordPad: 1)  Start regedit, go to the key HKEY_CURRENT_USER\Software\Microsoft\Speech\Preferences\en-us\ and remove any value named DictationEnabled. If there is no registry key named DictationEnabled, then 2)  Check %windir%\ime\sptip.dll – it should…



In an earlier post on keyboards, I talked briefly about text service categories.  I’d like to talk more about categories. TSF will make sure that at most one text service in any category is enabled at any given time. So, for example, you can enable one text service with GUID_TFCAT_TIP_KEYBOARD, one text service with GUID_TFCAT_TIP_SPEECH,…


Visual Studio 2008 issues

If you’re building a text service DLL, you almost certainly don’t want to use Visual Studio 2008’s compiler.  The problem is that Visual Studio 2008 uses a new C Runtime Library, and if you build your text service with Visual Studio, your text service likely won’t load in all applications.  (Plus, you would have to…