Windows Mobile Soft Input Panel options disable.

P

PNav

Task:
To disable the SIP menu's "Options..." sub menu item on PocketPC 2003,
Windows Mobile 5.0 PocketPC and Windows Mobile 6.0 Professional.

Solution:
The application has been created using C# as a smart device application. We
have used PInvoke wherever Win32SDK APIs have been called. We have subclassed
the SIP window in our application using GetWindowLong(...) and
SetWindowLong(...). The window procedure is in our application; that extends
the SIP window's functionality. We are handling the WM_INITMENUPOPUP message
for the SIP's "Options..." submenu, and we're disabling the menu item. This
works. The other messages are all re-routed to the original Window procedure
of the SIP button using CallWindowProc(...) passing the original windows
procedure's function pointer.

Problem:
On subclassing, if we navigate into: Start -> Settings, then the PocketPC
emulator freezes and becomes unresponsive. While debugging, we can't stop
debugging the application from Visual Studio. The only way to regain control
is by resetting the emulator. We are using the PocketPC 2003 SE emulator on
Windows 2003 Server. Interestingly, the same application runs fine on the
PocketPC 2003 SE emulator that ships with WindowsXP. Setting the
CeSetThreadPriority(...) to 249, makes the application run intermittently, on
the PocketPC2003 SE emulator, i.e. it runs perfectly at random intervals. So,
that makes us suspect that it might be a threading issue.

We are using SetProcPermissions(0xFFFFFFFF) in the application's
constructor. Without this, the application's main thread exits when we
navigate into Start -> Settings. The above scenario in the problem is with
the SetProcPermissions(...) set to 0xFFFFFFFF.
 
I

Ignacio Machin ( .NET/ C# MVP )

Task:
To disable the SIP menu's "Options..." sub menu item on PocketPC 2003,
Windows Mobile 5.0 PocketPC and Windows Mobile 6.0 Professional.

Solution:
The application has been created using C# as a smart device application. We
have used PInvoke wherever Win32SDK APIs have been called. We have subclassed
the SIP window in our application using GetWindowLong(...) and
SetWindowLong(...). The window procedure is in our application; that extends
the SIP window's functionality. We are handling the WM_INITMENUPOPUP message
for the SIP's "Options..." submenu, and we're disabling the menu item. This
works. The other messages are all re-routed to the original Window procedure
of the SIP button using CallWindowProc(...) passing the original windows
procedure's function pointer.

Problem:
On subclassing, if we navigate into: Start -> Settings, then the PocketPC
emulator freezes and becomes unresponsive. While debugging, we can't stop
debugging the application from Visual Studio. The only way to regain control
is by resetting the emulator. We are using the PocketPC 2003 SE emulator on
Windows 2003 Server. Interestingly, the same application runs fine on the
PocketPC 2003 SE emulator that ships with WindowsXP. Setting the
CeSetThreadPriority(...) to 249, makes the application run intermittently,on
the PocketPC2003 SE emulator, i.e. it runs perfectly at random intervals. So,
that makes us suspect that it might be a threading issue.

We are using SetProcPermissions(0xFFFFFFFF) in the application's
constructor. Without this, the application's main thread exits when we
navigate into Start -> Settings. The above scenario in the problem is with
the SetProcPermissions(...) set to 0xFFFFFFFF.

Hi,

this is the wrong NG to post this, you should use instead
microsoft.public.dotnet.framework.compactframework
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top