Is Keyman running on Windows?

I have a number of WinForm programs (written in C#) which are not compatible with Keyman. (Not a complaint - just a fact).

I want these programs, on start up, to test whether or not Keyman is running and would therefore interact with the program.

Please can you advise how the software can programmatically determine whether or not Keyman is running?

Thank you


I’m surprised that the WinForm apps are not compatible with Keyman; it’d be good to understand why.

In terms of your question, for Keyman 10, the relevant API to test whether Keyman is running is IKeymanControl::IsKeymanRunning()

Dear Marc,

Thank you for your prompt response – that was appreciated. The info was very helpful.

Re your comment “I’m surprised that the WinForm apps are not compatible with Keyman” – It is not WinForms itself that is incompatible but rather my program which is incompatible. My program does character conversion which would interfere with Keyman’s character conversion. I just need to disable character conversion in my program if Keyman is running.

So nothing for you to be concerned about.

Many thanks, again



1 Like

Hi Marc,

I must not have expressed myself clearly enough. My apologies.

WinForms ** are** compatible in general terms. But specifically my program is not.

The reason is simple – it does its own character conversion and so would conflict with Keyman’s conversions.

I expect my program will be used in a mixed environment i.e. some users will have Keyman running others will not. Rather than having two versions of the program in circulation it would be better to have just one and for it to detect if keyman is/is not running and respond accordingly. Hence my question.

So many thanks for all your help – and all you do in serving others.

Blessings on you and yours


1 Like

All understood - thanks for the feedback :slight_smile: