Skip to content

An MFC Application used to research TSF (MS Text Service Framework)

Notifications You must be signed in to change notification settings

puncha/TsfAppForResearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TsfAppForResearch

Descritpion

This application is used to research behavior of Microsoft TSF (Text Service Framework), aka TFS-aware app.

  1. Once you start the application, a timer starts automatically. What the timer does is to check whether the TSF thread manager got focus and whether there is a focused document manager. Check out codes in void CTsfAppForResearchDlg::OnTimer(UINT_PTR nIDEvent).
  2. The button, "Enable Languange Switch Watcher", allows you to watch language profile switch events sent by TSF. Click to enable the watcher and switch different IMEs to see what happens. You can switch different keyboard layouts such as English/Chinese/Japanese. And different languages such as MS Pinyin, Baidu Pinyin, Google Pinyin.

My Research Results

  1. The ThreadManager gets focus when TextEdit control gets focus.
  2. The TextEdit control has natively TSF support. So if you put focus in the TextEdit Control, you will see the Document Manager is accessible.
  3. If you put focus to other controls like Button, the Thread manager still gets the focus but there isn't a focused document manager. So thread manager getting focus doesn't mean, there is a focused document manager.

Related Codes

  1. TsfManager.cpp: LW class to encapsulate some TSF APIs.
  2. TsfAppForResearchDlg.cpp: Invoke TSFManager APIs.

About

An MFC Application used to research TSF (MS Text Service Framework)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published