Pages

Wednesday, March 3, 2010

What is ctfmon.exe And Why Is It Running?

What is ctfmon.exe And Why Is It Running?

You are no doubt reading this article because you are frustrated with the ctfmon.exe process that just won't stop opening no matter what you do. You remove it from the startup items and it just magically reappears. So what is it?
Ctfmon is the Microsoft process that controls Alternative User Input and the Office Language bar. It's how you can control the computer via speech or a pen tablet, or using the onscreen keyboard inputs for asian languages.
If you are using any of the above, you should leave it enabled. For everybody else, we'll get to the job of disabling this annoying service.
image
Depending on your system configuration, there are a number of different steps to disable it. I've tried to list all the methods below.
Step 1: Disabling in Microsoft Office 2003
We can remove the alternative text input from Microsoft Office 2003 by just removing that feature in the setup.
Note: I haven't figured out where the equivalent setting is for Office 2007 (if there is one), but we can also disable it a different way below.
Go to Add/Remove programs, choose to Change your installation of Microsoft Office and make sure you check the box for "Choose advanced customization of applications" before you hit next.
image
Find "Alternative User Input" in the list and change the dropdown to "Not available" so it looks like this:
image
Step 2a: Disabling in Windows XP
There's an additional step we can take to make sure it gets turned off in Windows XP, which really seems to be the best answer for XP users.
Open up Control Panel and choose Regional and Language Options.
image
Choose the Languages tab and then click on Details in the top section.
image
Now on the Advanced tab you can choose to "Turn off advanced text services", which should immediately close ctfmon.
image
You'll also want to take a look at the first Settings tab, and make sure that your "Installed Services" box looks similar to this one:
image
If you have more than one Installed service then ctfmon might come back… For instance on my system there was an input for my drawing tablet so I could use it as a text input… which I don't care about, so I clicked Remove on it.
Step 2b: Disabling in Windows Vista
The setting above for completely disabling text services doesn't seem to exist in Windows Vista as far as I can tell, but we can remove the additional input services using a similar method.
Open Control Panel, choose Regional and Language Options and then find "Change keyboards or other input methods".
image
On the Keyboards and Languages tab, you can select Change keyboards.
image
Now you'll finally be at the same screen as in Windows XP. You'll again want to remove the extra installed services in the list other than your default keyboard language.
image
Step 3: Remove From Startup
You won't want to perform this step before doing the others, because it will just be overwritten again. Open up msconfig.exe through the start menu run or search box, and then find the Startup tab.
image
Find ctfmon in the list and disable it by unchecking the box. Just remember that if you haven't disabled ctfmon through one of the other settings this won't help you a lot.
Step 4: If all else fails
You can just completely unregister the dlls that run the alternative input services by running these two commands from run box (one at a time)
Regsvr32.exe /u msimtf.dll
Regsvr32.exe /u msctf.dll
If you perform this step, you should also use Step 3 to get rid of the startup entries.
Step 5: Reboot
Reboot your computer and then open a Microsoft Office application if you do have that installed. Verify that ctfmon.exe is not running.

0 comments: