Question

I'm trying to test and later build some existing, very old code for a custom soft input panel DLL on Windows Mobile 6.5.

When I compile the code to test in Visual Studio 2008 -- the last version which supports the old eVC project file -- I get a message indicating that only a DLL has been produced and as a result it cannot be executed directly. However, the IDE advises me that I can specify a command to load the DLL. What command should I be using to load a soft input panel DLL?

Was it helpful?

Solution

The input panel's in Windows CE aren't loaded by any specific program, they're loaded by the OS itself (likely by GWES, but you'd have to walk the CE sources to verify that if you really, really want to know). The net result of that is that you can't set any "command line" in the debugger to get it to load your SIP. The downside is that you can't get use the debugger (you could use the Platform Builder debugger if it was generic Windows CE and you had a BSP).

To "register" your InputPanel, you simply need to create the approprate registry entries (documented in MSDN)

HKEY_CURRENT_USER\CLSID\{your object CLSID}
    InprocServer32=reg_sz:"\\Windows\\mysiplib.dll"
    IsSIPInputMethod=reg_sz:"1" ;note this is a string, not a dword
    DefaultIcon=regsz:"\\Windows\\mysiplib.dll,0"

To get it to "appear", you probably have to go into the Control Panel, under Setings->Personal->Input.

Once loaded, you can't unload the SIP without removing the registry entries and then a soft reset.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top