Archive for the ‘kiosk mode’ Category.
December 20, 2011, 10:07
Hello
I want to summarize the role of function keys in Windows Mobile, former Pocket PC, as I got several questions each week on how to use or enable Function keys in this or that application.
Here is a simple information about how function keys work in Windows Mobile.
Continue reading ‘Windows Mobile – the no-go world of Function Keys’ »
Tags:
AllKeys,
Function Key,
Internet Explorer Mobile,
remote desktop mobile,
UnregisterFunc1,
windows mobile Category:
CodeProject,
Int*rm*c,
Keyboard,
kiosk mode,
Programming,
Tips,
Windows Mobile Information |
Comments Off on Windows Mobile – the no-go world of Function Keys
March 8, 2011, 15:21
If you are running a kiosk mode app but need to provide the camercapture dialog on Windows Mobile 5 or later, you may need to disable the one or other click in the CameraCapture dialog.
This article uses a technique known as subclassing as already used and decribed in my StartButtonHookWM65 article. For the CameraCapture dialog the code has been revised and you can now subclass any known window class and disable clicks within the Windows Mobile menu bar.
private string _winClassName = "HHTaskbar";
public string winClassName
{
get { return _winClassName; }
set {
if (this.oldWndProc == IntPtr.Zero) //only allow change before subclassing
_winClassName = value;
}
}
...
/// <summary>
/// SubClassing: Install the wndproc hook
/// </summary>
/// <returns></returns>
private bool hookWindow()
{
//find the window to hook
IntPtr hWndHooked = FindWindow(_winClassName, IntPtr.Zero);
if (hWndHooked == IntPtr.Zero)
return false;
//enable the taskbar, not realy necessary
EnableWindow(hWndHooked, true);
//already installed?
if (oldWndProc == IntPtr.Zero)
{
//find the menu_worker window
IntPtr hwndMenu_Worker = FindWindow("menu_worker", IntPtr.Zero);
if (hwndMenu_Worker != IntPtr.Zero)
{
//get the child window which has the buttons on it
IntPtr hwndToolbar = GetWindow(hwndMenu_Worker, GetWindow_Cmd.GW_CHILD);
if (hwndToolbar != IntPtr.Zero)
{
_mHwnd = hwndToolbar; //store to remember
SubclassHWnd(hwndToolbar); //subclass the wndproc
}
}
}
return true;
}
As the call to CameraCaptureDialog will block and you can not subclass it before it is launched, I use a timer that will subclass the dialog assuming it will show after the call to .ShowDialog().
private System.Windows.Forms.Timer timer;
hwndutils subClassUtils;
private void ShowCamera()
{
CameraCaptureDialog cdlg = new CameraCaptureDialog();
cdlg.DefaultFileName="picture.jpg";
cdlg.InitialDirectory = "\\My Documents";
cdlg.Mode = CameraCaptureMode.Still;
cdlg.Owner = this.pictureBox1;
cdlg.StillQuality = CameraCaptureStillQuality.High;
cdlg.Title = "Take a picture and Select";
cdlg.Resolution = new Size(240, 320);
cdlg.VideoTypes = CameraCaptureVideoTypes.All;
//subclass main window with delay
subClassUtils = new hwndutils();
timer = new Timer();
timer.Interval = 1000;
timer.Tick += new EventHandler(timer_Tick);
timer.Enabled = true;
DialogResult dRes = cdlg.ShowDialog();
...
void timer_Tick(object sender, EventArgs e)
{
subClassUtils.winClassName = "Camera View";
subClassUtils.CloseButtonDisabled = true;
System.Threading.Thread.Sleep(500);
if(subClassUtils.CloseButtonDisabled)
timer.Enabled = false;
}
In the line “subClassUtils.CloseButtonDisabled = true;” the subclassing (or the hook) will be activated and clicks on (OK) will not be accepted.
Code subclassing.cs download: [Download not found]
March 5, 2011, 18:35
Although I dont recommend this, it may be usefull if your kiosk mode app watches and manages the battery level: you can disable the low battery warning. Sometimes such hacks are hard to find, now there is one more location in internet.
In the registry find the key
[HKEY_CURRENT_USER\ControlPanel\Notifications\{A877D663-239C-47a7-9304-0D347F580408}]
This is the entry responsible for low battery warnings
Add a new REG_SZ key: “Default” with for example the text “Low Battery Warning”
"Default"="Low Battery Warning"
This entry is used to display the notification in the list of notifications in Start-Settings-Sounds&Notifications. To disable the notification itself it is not really necessary, but easier to control.
The Options entry in the registry defines which options your selected in Start-Settings-Sounds&Notifications, for example play a sound or display a user notification. Set Options to REG_DWORD=0x00 and there will be no notification when the battery goes down to 10% (depends on the device) and lower.
Here is the change in full:
REGEDIT4
[HKEY_CURRENT_USER\ControlPanel\Notifications\{A877D663-239C-47a7-9304-0D347F580408}]
"Options"=dword:00000000
"Default"="LowBattWarning"
You need to reboot the device after the change!
Only a small tipp
November 20, 2010, 08:51
The famous rdesktop running natively on windows ce and windows mobile
Intro and Background
Some times ago I found that message of Jay Sorg and retrieved a copy of his code for a native rdesktop win32 version. I played a little and got the code compile with Visual Studio 2005 with the Windows Mobile SDK.
I tried to implement windows clipboard support to enhance the transfer of texts between the client and server, but unfortunately I was not successful yet. Hopefully someone jumps in and helps enhancing the code and adds some features.
Rdesktop is open source and you can go with the wince implementation here, but if it does not work for you, you have either change the code yourself (and publish it) or find someone that is able to do for you.
There is a template uiports/xxxwin.c in the actual rdesktop source you can use as a starter to compile the actual rdesktop version for windows mobile if you manage to get all the dependencies to work. If you success, forget this post and go with this version (maybe you leave me a note?).
Why another Remote Desktop/Terminal Server Client?
Continue reading ‘Mobile Development: a native remote desktop client (rdesktop port win32)’ »
Tags:
mstsc,
rdesktop,
rdesktop-ce,
rdp,
rdp_autologin,
remote desktop mobile,
terminal service client,
tsc,
win32,
windows mobile,
wpctsc.exe Category:
CodeProject,
Int*rm*c,
kiosk mode,
Programming,
Tools,
Utilities |
Comments Off on Mobile Development: a native remote desktop client (rdesktop port win32)