How to disable “Unsigned Prompt Policy” on Windows Mobile?
Many Windows Mobile (Pocket PC) devices ship with one-tier security configuration enabled. That means if an unsigned application is started, then the user is prompted whether to allow the unsigned application to run or not. If the user based on his/her judgment allows the application to run, the application runs in privileged mode whereby it can access all system APIs and protected registry keys.
Now this feature can be very annoying during development. So rather than signing the executable the developer can temporarily disable the Unsigned Prompt Policy by making some registry changes.
Steps to disable Unsigned Prompt Policy on Windows Mobile:
- Use Remote Registry Editor or a third-party tool such as PHM Registry Editor.
- Set the following registry value to 1 to disable Unsigned Prompt Policy. (Default value is 0).
; Unsigned Prompt Policy
[HKEY_LOCAL_MACHINE\Security\Policies\Policies]
"0000101a"=dword:1Note: Create the above registry entry if it does not already exist.
WindowsITPro talks about SureRC
Brian Reinholz has written about SureRC on Windows IT Pro website where he is production editor for Windows IT Pro and SQL Server Magazine, specializing in training and certification. Thanks Brian for mentioning SureRC.
Here is the link for the article:
http://www.windowsitpro.com/article/mobile-and-wireless2/SureRC-Smartphone-Remote-Control.aspx
How to get process id and thread id from a Window Handle in .NET CF?
Specify the namespace for doing P/Invoke stuff i.e. calling Win32 API functions from managed code.
using System.Runtime.InteropServices;
GetWindowThreadProcessId Win32 function retrieves the identifiers of the process and thread that created the specified window.
Here is how we declare GetWindowThreadProcessId for use in managed code (c#).
[DllImport("coredll.dll")]
private static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId);
Description:
- hWnd is the window handle
- lpdwProcessId stores the process identifier after the method returns
- return value of the function is the id of the thread that created the window
Calling GetWindowThreadProcessId via P/Invoke:
// Set the hWnd value below with window handle of your interest
IntPtr hWnd = this.Handle;
uint processid = 0;
uint threadid = GetWindowThreadProcessId((IntPtr)hWnd, out processid);
And there you go....
Save money by using Remote Control software for smartphones
The Problem
Sometimes, as an IT support specialist, you might find yourself to be in situations where end users need your support in troubleshooting problems with their mobile devices or smartphones. Traditional approach would be to pick up the phone and call the user and ask him/her to follow your instructions like, tap on this button, select that checkbox and so on. If the mobile users are not tech-savvy enough then you cannot be sure if they are properly following your instructions. Ensuing confusion can be frustrating to you as well as to the person at the other end.
A simple example:
Say a mobile user wants to know how she can save a website address as a favorite in her Smartphone. She calls you, the best IT support guy in the company, for help. You ask her to launch phone’s browser, tap on the Menu button on the command bar and select Add to Favorites menu item. She launches the browser but she can’t find the menu item to save the current page as a favorite. And you think “WIGOIT” (“What is going on in there”). After 15 minutes, you finally figured out that she was using Opera browser and not Internet Explorer. You were giving her wrong instructions!
Remote Control Software to the rescue!
To prove that you still are the best IT guy ever, you decide to use Remote Control software for mobile devices, similar to the way you use remote administration tools to control desktop PCs. Seriously speaking, no time or effort would have been wasted in the previous scenario if you could remotely connect and take control of the user’s device and demonstrate how to add the website address as a favorite.
SureRC
SureRC is a Remote Administration software for controlling Windows Mobile devices over wireless networks. SureRC is compatible with most of the latest VNC viewer programs. If you already have a VNC Viewer program installed on your desktop then you are ready to remotely control the mobile device screen using the desktop keyboard and mouse.
SureRC Features:
• Works with RealVNC Viewer or other VNC compatible viewer programs on the desktop
• Activate remote control by sending SMS to the device: If the device is unattended or suspended, you can send a special command message (an SMS) to the device. On SMS reception the device will wake up and connect with the VNC viewer program running on the desktop.
• Efficient performance on slow networks (ZRLE Compression)
• VNC Authentication support
You can download the trial version of SureRC from the following webpage.
http://www.42gears.com/surerc/
Managing Enterprise Mobile Devices
Enterprises are going mobile these days. Employees use mobile devices to access, generate and manipulate business data while on the move. Enterprises like the gains in productivity as employees can work from virtually anywhere.
Businesses are embracing mobility due the fact that mobile devices are becoming increasingly powerful these days; some are almost as powerful as desktop computers were a few years ago. Extraordinary features have been packed into devices with small form factors which businesses simply cannot ignore.
There are two types of mobile users in any enterprise- business/executive users that use mobile devices primarily for communication purposes i.e. to make phone calls, check emails and browse the web. The other category is of mobile workers that use mobile devices in the field or within the office premises to collect and work on critical business data, e.g. inventory management, sales order taking, ticketing, parcel delivery services etc. Mobilizing this workforce requires a mobility solution designed as per the business needs.
Components of an Enterprise Mobility solution
There are various technologies that come together to form a good enterprise mobility solution.
• Wireless Networks
• Software (running on mobile devices and on backend systems)
• Mobile Devices
• Mobile Device Management Solutions
Benefits of a using an Enterprise Mobility solution:
• Increase in employee productivity
• Improve customer support
• Increase revenues
Role of mobile devices in an Enterprise Mobility solution
Mobile device is actually one of the most important components of an enterprise mobility solution. A mobile device is the one which connects to wireless infrastructure, goes into the hands of the employees, and runs mobile applications that connect to the middleware and the backend systems of a company.
Windows Mobile from Microsoft has been a platform of choice for enterprises for running their Line-of-business (LOB) applications. Availability of excellent development tools for building enterprise applications and tight integration of Windows Mobile with desktop Windows is the reason for its success in this market. Device vendors such as Motorola/Intermec/Honeywell manufacture and sell ruggedized handhelds based on Windows Mobile or Windows CE operating systems.
Just like an enterprise manages desktop PCs to ensure that they are always up and running, mobile devices also require proper management. Actually mobile devices need even more care, all because most of the time they reside outside the company walls and the company network. Physical security, data security, misuse and remote management needs of mobile devices are top concerns of any organization’s IT support department. The answer to this problem is to use an enterprise Mobile Device Management solution.
What is an Enterprise Mobile Device Management (MDM) Solution?
Mobile Device Management tools provide everything that an enterprise needs to effectively manage their fleet of mobile devices while reducing their total cost of ownership (TCO).
Some features of an enterprise mobile device management solution are:
• Centralized software deployment:
o Remote Installation of new applications or patches ensures that all the devices in an enterprise are up to date with latest software. This reduces device downtime and increases productivity of mobile workers and IT support people as well.
• Apply security policies:
o Regulate what features of the mobile device can be used by employees, e.g. some companies don’t allow use of devices with Bluetooth or Camera within office premises. An MDM solution can disable these features via software. There is no need for the company to lookout and purchase special devices from the market where these features are physically absent.
• Remote Date Wipe:
o Capability to initiate remote wipe of all the information stored on the mobile devices, especially if a mobile device is lost or falls in the wrong hands. Remote Data Wipe can also be used to “cleanup” the device before handing it over to a new user. Various events like SIM card change and device not being able to connect to the server for a specified time can trigger a data wipe operation.
• Wireless Expense Management:
o Generate reports to determine the expense incurred by the employees while using the device for voice or data purposes. This information can help companies in selecting the most cost-effective carrier plans and to formulate employee policies to ensure they utilize the wireless services within allowed limits.
• Locating mobile devices on the map:
o To determine on the map where a mobile device is currently located. A manager can use this information to optimally assign jobs to field workers based on their proximity to a particular location.
• Device data backup:
o Capability to backup device data at regular intervals or on-demand, after-all data is “everything” for an enterprise.
• Remote Helpdesk Support:
o Capability to remotely control and access device to troubleshoot any device related problems or remotely guide the end-user. This is similar to the way administrators remotely access and control desktop PCs.
o Remote view of file system on the device
o Remote view of running processes on the device and capability to terminate the offending processes.
o Remote registry viewing and editing capability
o Capability to remotely reset the device
Deploying an Enterprise Mobile Device Management Solution
Once an MDM solution has been selected, it is recommended to do a pilot run before deploying it across the enterprise. The pilot should focus on technical aspects like performance in low bandwidth networks and scalability. Focus should also be on handling non-technical aspects like acceptance of the solution by employees, determining training needs of the IT team and start identifying policies to apply on the devices and users.
About the Author
Author is the founder of 42Gears, Bangalore. 42Gears is a startup providing mobile device management solutions for enterprises helping them maximize the benefits of mobility. Read more about 42Gears at http://www.42Gears.com.
Writing “Hello World” program for Windows Phone 7
Windows Phone 7 (WP7) is a cool new mobile platform from Microsoft. Developers can use Silverlight, XNA Framework and of course .NET compact framework for developing applications for WP7.
What do you need
To get started, download and install the following tools on your Windows 7 or Vista PC.
Installation includes Visual Studio 2010, Expression Blend, Windows Phone Emulator, XNA Game studio along with all the documentation required for writing your next great app.
Note that if Visual Studio 2010 Professional or above is already installed on the PC then only an Add-in for Windows Phone development is installed rather than complete installation of Visual Studio 2010 Express Edition.
To familiarize with the development environment its better to first develop a simple Silverlight application.
Create Hello World Project in SilverLight
1. Launch Visual Studio and Select File -> New Project command.
2. Select SilverLight for Windows Phone as template and Windows Phone Application as project type.
3. Specify HelloWorld as project name and Click OK button.
4. Wizard will create all the necessary files as the foundation for our HelloWorld application.
What Wizard generates
Most important files are generated by the wizard are:
1. MainPage.xaml : Default page with some UI element.
2. App.xaml : This file is used to declare shared application resources like colors, brushes, fonts and various style objects. The code-behind file app.xaml.cs is used to handle global application level events like Application_Startup, Application_Exit and Application_UnhandledException.
Building the Project
Since this is the first application built with the newly installed dev environment, its good to build the default project to rule out any installation problems. Right-click on the Solution in the Solution Explorer and Select Build command.
The build is successful if you will see the following message in the output window.
"========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped =========="
All is good at this stage. Go to Windows Explorer and browse to .\HelloWorld\HelloWorld\Bin\Debug folder and you will find HelloWorld.xap which is your actual compiled and compressed Silverlight application.
Lets enhance the program by adding "Hello World" functionality :).
Adding Hello World Stuff
1. Select "My Application" text block in the design view or in XAML view and change it to say, "42Gears".
2. Select "page title" text block and change it to "Hello World".
Build the project and a new HelloWorld.xap file will be generated.
Running Hello World Program
Now you are ready to launch the application. Press F5 to start debugging or Ctrl-F5 to Start without debugging. Windows Phone 7 emulator will be launched and HelloWorld.xap will be deployed and your first application will start running on the emulator.
For the first time it will take sometime for the emulator to start. Once its running, you can hit F5 or Ctrl-F5 to quickly deploy and run your application.
Well.. thats all for the HelloWorld application for Windows Phone 7. Future posts will involve more advanced topics. Stay tuned!
SureRC : Remote Administration tool for Windows mobile devices
We have released a new tool SureRC, a remote control and support software for Windows Mobile devices. It lets administrators take remote control of mobile devices and interact with the device using PC mouse and keyboard. SureRC works over TCP/IP networks (WiFi, Wired, GPRS, 3G). You can download the trial version from the SureRC product page. SureRC is installed only on the Windows Mobile device. You can use any freely available VNC compatible software on the desktop PC.
SureRC Features:
* Compatible with most VNC viewer programs such as RealVNC and TightVNC
* VNC Authentication support
SureRC Demo:
Let us know if you are interested in a demo. We offer free online product walk-through sessions.
How to display Settings screens or Control Panel Applets in Windows Mobile?
Windows Mobile Control Panel applets are normal dlls renamed with special extension .cpl. They are actually loaded by ctlpnl.exe process.
Following code snipped is what you need if you want to show a Control Panel applet from your program. This way you make it easy for your user to change desired settings, without any “complex” navigation.
BOOL ShowControlPanelApplet(int id)
{
TCHAR szParams[32];
SHELLEXECUTEINFO execinfo = {0};
memset(&execinfo, 0, sizeof(execinfo));
execinfo.cbSize=sizeof(execinfo);
execinfo.lpFile=TEXT(“\\windows\\ctlpnl.exe”);
execinfo.lpVerb=TEXT(“open”);
// Id value determines which control applet will be launched
// For e.g. 23 for bluetooth applet
wsprintf(szParams, L”cplmain.cpl,%d”, id);
execinfo.lpParameters = szParams;
BOOL bRet=ShellExecuteEx(&execinfo);
return bRet;
}
The parameter id refers to the control panel applet that you want to show. Below is the table of id values and the corresponding applet names.
Control Panel Applet Id Values
1 Password
2 Owner Information
3 Power
4 Memory
5 About
6 Brightness
7 Screen
8 Input
9 Sounds & Notifications
10 Remove Programs
11 Menus
12 Buttons
13 Today
14
15 Beam
16 Clocks & Alarms
17 Configure Network Adapters
18 Regional Settings
19 Connections
20
21
22 Manage Certificates
23 Bluetooth
24 Error Reporting
25 GPS Settings
26
27 USB to PC
Follow us on Twitter http://twitter.com/42gears
AirLink is now SureMDM
SureMDM is now the official name of our Mobile Device Management tool. It was earlier known as AirLink Mobile Device Manager.
Please visit http://www.42gears.com/suremdm/ to know more about SureMDM.
Great news! 42Gears joins Microsoft BizSpark Program
42Gears has joined Microsoft BizSpark Program which is great for early-stage startups like us. Biggest advantage is the availability of development tools licenses and production licenses of server products along with support and visibility. Read more about the program here.