I'm developing a touchscreen application. I developed my own on-screen keyboard from scratch, as my app needs to work even on non tablet-enabled operating systems such as Windows XP and Windows 2000. My app is pure Win32 (VS6), and I'm using the Touch API by dynamically loading User32.dll and calling RegisterTouchWindow.
My problem is that when running on a tablet-enabled OS (such as Windows 7), Windows own OSK icon automatically pops up. While this is very helpful in most apps, , in mine it only adds clutter, as it requires extra clicks to perform the same function.
How can I disable Windows on-screen keyboard for my application only? Disabling it for each edit-box would also be acceptable, as would just hiding the pop-up icon.
My edit-box (despite the integrated look), for compatibility reasons, IS a standard Win32 edit-box, however it's hidden by using a null region and displayed through WM_PRINT with what amounts to a pixel search-and-replace algorithm. I guess I did too good of a job on compatibility, as the OSK icon comes up ;).
Try as I might, I still don't have a solution to this problem. Anyone? If this isn't the correct forum, or if you need more information, please do let me know.
The icon is actually in the way of the OSK. How can I tell windows that this app doesn't want it? A hack is fine -- anything would be better than having to tell customers to change a global system setting.
I'm basically having the same problem. From what I can see with Process Monitor, the OSK icon is controlled by the DWORD "ShowIPTipTarget" unter HKCU\Software\Microsoft\TabletTip\1.7
However, just like Windows visual performance settings it won't work if you just change the registry value. This needs to be done by an API call I guess.