共用方式為


Welcome!

Welcome to my new blog!

I'm Eric Brown, and I'm a developer in the Windows User Experience team.  I'm responsible for making dictation work in Windows Speech Recognition.

Dictation relies on the Text Services Framework to make things work, so I know a lot about that, too.

Unfortunately, not a lot of other people know about the Text Services Framework; I hope to fix that.

Comments

  • Anonymous
    April 18, 2007
    How can one use TSF in .NET 3.0 to process keyboard input from other applications (similar to using an a system-wide or application-specific keyboard hook)?  Could we do this with managed code?   It seems unlikely according to some people: "Unfortunately, I do not know of any specific way to allow for a managed (.NET) TSF Text Input Processor. I will inquire further but I suspect that this is not possible given how it has to be integrated into essentially any thread using it for input, whether managed or not." http://blogs.msdn.com/michkap/archive/2006/08/18/706063.aspx

  • Anonymous
    April 19, 2007
    Dan - what are you trying to do that requires inspecting the keyboard input from other applications?

  • Anonymous
    April 19, 2007
    Thanks, Eric, for your reply. Since, as you say elsewhere, a managed solution would be more difficult if not impossible, I retract my first question :) For the record, my project is to provide system-wide abbreviation expansion (like AutoCorrect but more advanced and available in most Windows applications).  This is easy enough using a system-wide keyboard hook.  So I'm just going to build upon the popular, open-source solution AutoHotKey (maintained with Visual C++ 7.1), which provides system-wide abbreviation expansion. I was interested in TSF because it seems like the next-generation alternative to a system-wide keyboard hook.   However,  even with MSDN's TSF samples from 2001 to build on, that would be a lot more work.  (Of course, I'm sure there would be some advantages, such as getting context, underlining and highlighting text, etc.)

  • Anonymous
    April 20, 2007
    TSF is actually a very good solution for abbreviation expansion, and would definitely have the advantages you suggest.  You just shouldn't do that in managed code. :)