<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Peter Foot - Windows Mobile</title>
    <link>http://peterfoot.net/</link>
    <description>Microsoft Device Application Development MVP</description>
    <image>
      <url>http://peterfoot.net/images/mugshot.jpg</url>
      <title>Peter Foot - Windows Mobile</title>
      <link>http://peterfoot.net/</link>
    </image>
    <copyright>Peter Foot</copyright>
    <lastBuildDate>Mon, 24 May 2010 00:05:44 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.1.8102.813</generator>
    <managingEditor>peter.foot@appamundi.com</managingEditor>
    <webMaster>peter.foot@appamundi.com</webMaster>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=41df448a-8be0-4c5b-b433-5c337ff01a55</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,41df448a-8be0-4c5b-b433-5c337ff01a55.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This may be a little late to the party but I thought I would share some information
on this exam. Because you sign an NDA when you take the exam I cannot comment on specifics
of the exam content, however I can offer some guidance on the study guide:-
</p>
        <p>
          <a title="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-580" href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-580">http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-580</a>
        </p>
        <p>
This exam replaced the previous <a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-540&amp;locale=en-us" target="_blank">070-540
exam</a> which covered application development using Windows Mobile 5.0, .NET Compact
Framework 2.0 and Visual Studio 2005. Therefore a large percentage of the material
is the same between the two. The new topics come in the form of Widgets, LINQ, ADO.NET
Sync Services and Windows Mobile Tools such as FakeGPS. The full list of skills measured
can be read on the exam link above. There are a couple of oddities:– 
</p>
        <ul>
          <li>
The material is updated for .NETCF 3.5 by including LINQ but WCF is not listed. 
</li>
          <li>
ADO.NET Sync Services has never really been a core part of the development tools. 
</li>
          <li>
Finally one of the skills measured is creating a desktop installer for your application.
There is not standard way of doing this but the guidance does exist (see list below)
to put together a dll which acts as a custom install action within your desktop installer.</li>
        </ul>
        <p>
So once you’ve familiarised yourself with all the skills measured you’ll skip to the
next tab on Preparation Materials and find there is nothing at all listed. Here is
a list I think will help with your preparation:-
</p>
        <p>
          <a href="http://www.amazon.co.uk/gp/product/0735623589?ie=UTF8&amp;tag=petfoo-21&amp;linkCode=as2&amp;camp=1634&amp;creative=6738&amp;creativeASIN=0735623589" target="_blank">Microsoft
Mobile Development Handbook</a> – Microsoft Press. While the main book covers .NETCF
2.0 and Visual Studio 2005, the last chapter gives a run down on new features in Visual
Studio 2008 and .NETCF 3.5 including LINQ. It ticks almost all of the Skills measured,
there are a few articles which cover the new topics:-
</p>
        <p>
          <a href="http://msdn.microsoft.com/en-us/library/dd721906.aspx" target="_blank">Developing
Widgets for Windows Mobile 6.5</a> – MSDN. The Windows Mobile 6.5.3 SDK added some
support for Widget development to Visual Studio 2008 but I find it just hangs Visual
Studio. This article shows the “old” approach from creating the HTML, JavaScript and
building the ZIP file and renaming.
</p>
        <p>
          <a href="http://msdn.microsoft.com/en-us/library/dd938879.aspx" target="_blank">Programming
Microsoft Synchronization Services for ADO.NET (Devices)</a> – MSDN. Andy’s article
describes Synchronization services from setting up and running synchronization through
to optimisations for mobile use.
</p>
        <p>
          <a href="http://msdn.microsoft.com/en-us/library/bb158722.aspx" target="_blank">Using
the FakeGPS Utility – MSDN</a>.
</p>
        <p>
 
</p>
        <p>
The 70-580 exam is quite new and it is quite clear that if and when there is an exam
created for Windows Phone 7 development it will by necessity be completely different.
However for now 70-580 is the most up-to-date Microsoft exam for Mobility and is one
of the requirements for the Mobility competency within the Microsoft Partner Program.
Currently it doesn’t appear that there are any exams at all for Silverlight, but there
are some coming in the next few months for .<a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-511&amp;Locale=en-us" target="_blank">NET
4.0 and WPF</a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=41df448a-8be0-4c5b-b433-5c337ff01a55" />
      </body>
      <title>070-580: Windows Mobile 6.5 Application Development</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,41df448a-8be0-4c5b-b433-5c337ff01a55.aspx</guid>
      <link>http://peterfoot.net/070580WindowsMobile65ApplicationDevelopment.aspx</link>
      <pubDate>Mon, 24 May 2010 00:05:44 GMT</pubDate>
      <description>&lt;p&gt;
This may be a little late to the party but I thought I would share some information
on this exam. Because you sign an NDA when you take the exam I cannot comment on specifics
of the exam content, however I can offer some guidance on the study guide:-
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-580" href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-580"&gt;http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-580&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This exam replaced the previous &lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-540&amp;amp;locale=en-us" target="_blank"&gt;070-540
exam&lt;/a&gt; which covered application development using Windows Mobile 5.0, .NET Compact
Framework 2.0 and Visual Studio 2005. Therefore a large percentage of the material
is the same between the two. The new topics come in the form of Widgets, LINQ, ADO.NET
Sync Services and Windows Mobile Tools such as FakeGPS. The full list of skills measured
can be read on the exam link above. There are a couple of oddities:– 
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
The material is updated for .NETCF 3.5 by including LINQ but WCF is not listed. 
&lt;/li&gt;
&lt;li&gt;
ADO.NET Sync Services has never really been a core part of the development tools. 
&lt;/li&gt;
&lt;li&gt;
Finally one of the skills measured is creating a desktop installer for your application.
There is not standard way of doing this but the guidance does exist (see list below)
to put together a dll which acts as a custom install action within your desktop installer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
So once you’ve familiarised yourself with all the skills measured you’ll skip to the
next tab on Preparation Materials and find there is nothing at all listed. Here is
a list I think will help with your preparation:-
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.amazon.co.uk/gp/product/0735623589?ie=UTF8&amp;amp;tag=petfoo-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=6738&amp;amp;creativeASIN=0735623589" target="_blank"&gt;Microsoft
Mobile Development Handbook&lt;/a&gt; – Microsoft Press. While the main book covers .NETCF
2.0 and Visual Studio 2005, the last chapter gives a run down on new features in Visual
Studio 2008 and .NETCF 3.5 including LINQ. It ticks almost all of the Skills measured,
there are a few articles which cover the new topics:-
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/dd721906.aspx" target="_blank"&gt;Developing
Widgets for Windows Mobile 6.5&lt;/a&gt; – MSDN. The Windows Mobile 6.5.3 SDK added some
support for Widget development to Visual Studio 2008 but I find it just hangs Visual
Studio. This article shows the “old” approach from creating the HTML, JavaScript and
building the ZIP file and renaming.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/dd938879.aspx" target="_blank"&gt;Programming
Microsoft Synchronization Services for ADO.NET (Devices)&lt;/a&gt; – MSDN. Andy’s article
describes Synchronization services from setting up and running synchronization through
to optimisations for mobile use.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn.microsoft.com/en-us/library/bb158722.aspx" target="_blank"&gt;Using
the FakeGPS Utility – MSDN&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
The 70-580 exam is quite new and it is quite clear that if and when there is an exam
created for Windows Phone 7 development it will by necessity be completely different.
However for now 70-580 is the most up-to-date Microsoft exam for Mobility and is one
of the requirements for the Mobility competency within the Microsoft Partner Program.
Currently it doesn’t appear that there are any exams at all for Silverlight, but there
are some coming in the next few months for .&lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-511&amp;amp;Locale=en-us" target="_blank"&gt;NET
4.0 and WPF&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=41df448a-8be0-4c5b-b433-5c337ff01a55" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=2b6ebdb3-e29f-4f16-a7f4-4447bfc6623c</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,2b6ebdb3-e29f-4f16-a7f4-4447bfc6623c.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <table width="100%" cellpadding="8" cellspacing="8" border="0">
          <tbody>
            <tr>
              <td width="128" valign="top">
                <a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand">
                  <img height="128" width="128" src="http://inthehand.com/sitefiles/1003/m.png" border="0" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" />
                </a>
              </td>
              <td margin="8" valign="top">
                <p>
This latest update includes a number of performance enhancements and wider device
compatibility.
</p>
                <p>
A new <strong>SystemEvents</strong> class is added in the InTheHand.Win32 namespace
which allows you to monitor power changes on devices which do not support the State
and Notifications Broker (Pocket PC 2003 and all Windows CE devices).
</p>
                <p>
InTheHand.Net.<strong>WebUtils</strong> provides a method to safely encode/decode
strings in a HTML/XML friendly way.
</p>
                <p>
InTheHand.WindowsMobile.Status.<strong>SystemState</strong> now supports more properties
on Pocket PC 2003 and Windows CE devices by interfacing with lower level APIs on these
devices. 
</p>
                <p>
This is a free update from v4.x. Registered users of v3.x can purchase a reduced price
upgrade. Full product details here:-
</p>
                <p>
                  <a href="http://inthehand.com/content/mobile.aspx" title="http://inthehand.com/content/mobile.aspx">http://inthehand.com/content/mobile.aspx</a>
                </p>
              </td>
            </tr>
          </tbody>
        </table>
        <p>
          <a href="http://inthehand.com/content/mobile.aspx" title="http://inthehand.com/content/mobile.aspx"> </a>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=2b6ebdb3-e29f-4f16-a7f4-4447bfc6623c" />
      </body>
      <title>Mobile In The Hand 4.2 Released</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,2b6ebdb3-e29f-4f16-a7f4-4447bfc6623c.aspx</guid>
      <link>http://peterfoot.net/MobileInTheHand42Released.aspx</link>
      <pubDate>Mon, 10 May 2010 01:20:00 GMT</pubDate>
      <description>&lt;table width="100%" cellpadding="8" cellspacing="8" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="128" valign="top"&gt;
&lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"&gt;&lt;img height="128" width="128" src="http://inthehand.com/sitefiles/1003/m.png" border="0" style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td margin="8" valign="top"&gt;
&lt;p&gt;
This latest update includes a number of performance enhancements and wider device
compatibility.
&lt;/p&gt;
&lt;p&gt;
A new &lt;strong&gt;SystemEvents&lt;/strong&gt; class is added in the InTheHand.Win32 namespace
which allows you to monitor power changes on devices which do not support the State
and Notifications Broker (Pocket PC 2003 and all Windows CE devices).
&lt;/p&gt;
&lt;p&gt;
InTheHand.Net.&lt;strong&gt;WebUtils&lt;/strong&gt; provides a method to safely encode/decode
strings in a HTML/XML friendly way.
&lt;/p&gt;
&lt;p&gt;
InTheHand.WindowsMobile.Status.&lt;strong&gt;SystemState&lt;/strong&gt; now supports more properties
on Pocket PC 2003 and Windows CE devices by interfacing with lower level APIs on these
devices. 
&lt;/p&gt;
&lt;p&gt;
This is a free update from v4.x. Registered users of v3.x can purchase a reduced price
upgrade. Full product details here:-
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://inthehand.com/content/mobile.aspx" title="http://inthehand.com/content/mobile.aspx"&gt;http://inthehand.com/content/mobile.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;a href="http://inthehand.com/content/mobile.aspx" title="http://inthehand.com/content/mobile.aspx"&gt;&amp;nbsp;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=2b6ebdb3-e29f-4f16-a7f4-4447bfc6623c" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=cfb90fbc-8d96-4277-9c08-551ebd1a81e2</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,cfb90fbc-8d96-4277-9c08-551ebd1a81e2.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If you want to learn about configuring Exchange Server for mobile devices there is
an interactive configuration guide which will work through the actions required depending
on your platform and your specific requirements:-
</p>
        <p>
          <a title="http://wmexchangesetup.com/launcher.aspx" href="http://wmexchangesetup.com/launcher.aspx">http://wmexchangesetup.com/launcher.aspx</a>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=cfb90fbc-8d96-4277-9c08-551ebd1a81e2" />
      </body>
      <title>Configuring Microsoft Exchange Server for Mobility</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,cfb90fbc-8d96-4277-9c08-551ebd1a81e2.aspx</guid>
      <link>http://peterfoot.net/ConfiguringMicrosoftExchangeServerForMobility.aspx</link>
      <pubDate>Mon, 03 May 2010 19:40:09 GMT</pubDate>
      <description>&lt;p&gt;
If you want to learn about configuring Exchange Server for mobile devices there is
an interactive configuration guide which will work through the actions required depending
on your platform and your specific requirements:-
&lt;/p&gt;
&lt;p&gt;
&lt;a title="http://wmexchangesetup.com/launcher.aspx" href="http://wmexchangesetup.com/launcher.aspx"&gt;http://wmexchangesetup.com/launcher.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=cfb90fbc-8d96-4277-9c08-551ebd1a81e2" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=07321380-cff3-42c9-8c03-38e8fb7ce8c9</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,07321380-cff3-42c9-8c03-38e8fb7ce8c9.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While this week has very much been focussed on Windows Phone 7 so far we also released
the latest version of our Mobile In The Hand suite for the .NET Compact Framework.
Along with some bug-fixes (several around EmailMessage functionality) and performance
improvements there are a lot of new features in this release. These include:-
</p>
        <ul>
          <li>
Compatibility – We have gone through the entire library and documented which platform
versions support which features in a similar way to the MSDN documentation for the
underlying APIs. We have also added in more platform checks and workarounds so we
are now able to support a much wider range of devices. Pocket PC 2003, Windows Mobile
5.0, Windows Mobile 6, Windows Mobile 6.1, Windows Mobile 6.5, Windows Mobile 6.5.3,
Windows CE.NET 4.1, Windows CE 5.0, Windows Embedded CE 6, you get the idea! Basically
any device which supports .NET Compact Framework 2.0 or later will be able to use
most of the functionality in the suite.</li>
          <li>
Better support for .NETCF 3.5 – By adding IEnumerable&lt;T&gt; interfaces to our collection
classes you can write slightly simpler LINQ statements. Also we have implemented many
features as Extension Methods. These can be used in either .NETCF 2.0 or 3.5 so long
as you are using Visual Studio 2008 (The compiler in VS2005 doesn’t support these
so you have to call them as static methods).</li>
          <li>
New InTheHand.Device.Location.dll library – This is modelled on the .NET 4.0 library
and just this week it has been shown that Windows Phone 7 gets a version of the same
library. By adding this support we’ve been able to completely re-design our GPS support
and you can now write code with the same familiar object model on Windows 7, Windows
Phone 7 and Windows Mobile and Windows Embedded CE. In the Evaluation version this
shipped as InTheHand.Device.dll but for the full release we changed it to InTheHand.Device.Location.dll
to match the Windows Phone 7 name, the namespaces and classes within the assembly
are unchanged.</li>
          <li>
New InTheHand.Net.dll library – Previously this was released as a separate product
but this now joins the suite and has had a number of new features including asynchronous
versions of the WebClient methods, support for SMTP email sending, Remote Access (RAS)
and some more classes in the NetworkInformation namespace. By integrating with the
suite we have been able to share more functionality so for example our Visual Basic
“My” extensions now have additional networking methods that are present in the full
.NET framework.</li>
          <li>
InTheHand.WindowsMobile.Forms.ControlHelper.EnableVisualStyles – This extension method
allows you to reskin all the supported controls on Windows Mobile 6.5.3 with their
new themed versions.</li>
          <li>
InTheHand.WindowsMobile.Forms.Widget – On Windows Mobile 6.5 and later you can interrogate
the widgets installed on the device. You can programmatically launch or uninstall
Widgets too. There is a new sample application which shows a simple widget manager
application.</li>
        </ul>
        <p>
 
</p>
        <p>
For more information about Mobile In The Hand see <a href="http://inthehand.com/content/Mobile.aspx">the
product page</a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=07321380-cff3-42c9-8c03-38e8fb7ce8c9" />
      </body>
      <title>Mobile In The Hand 4.1</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,07321380-cff3-42c9-8c03-38e8fb7ce8c9.aspx</guid>
      <link>http://peterfoot.net/MobileInTheHand41.aspx</link>
      <pubDate>Tue, 16 Mar 2010 20:54:47 GMT</pubDate>
      <description>&lt;p&gt;
While this week has very much been focussed on Windows Phone 7 so far we also released
the latest version of our Mobile In The Hand suite for the .NET Compact Framework.
Along with some bug-fixes (several around EmailMessage functionality) and performance
improvements there are a lot of new features in this release. These include:-
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Compatibility – We have gone through the entire library and documented which platform
versions support which features in a similar way to the MSDN documentation for the
underlying APIs. We have also added in more platform checks and workarounds so we
are now able to support a much wider range of devices. Pocket PC 2003, Windows Mobile
5.0, Windows Mobile 6, Windows Mobile 6.1, Windows Mobile 6.5, Windows Mobile 6.5.3,
Windows CE.NET 4.1, Windows CE 5.0, Windows Embedded CE 6, you get the idea! Basically
any device which supports .NET Compact Framework 2.0 or later will be able to use
most of the functionality in the suite.&lt;/li&gt;
&lt;li&gt;
Better support for .NETCF 3.5 – By adding IEnumerable&amp;lt;T&amp;gt; interfaces to our collection
classes you can write slightly simpler LINQ statements. Also we have implemented many
features as Extension Methods. These can be used in either .NETCF 2.0 or 3.5 so long
as you are using Visual Studio 2008 (The compiler in VS2005 doesn’t support these
so you have to call them as static methods).&lt;/li&gt;
&lt;li&gt;
New InTheHand.Device.Location.dll library – This is modelled on the .NET 4.0 library
and just this week it has been shown that Windows Phone 7 gets a version of the same
library. By adding this support we’ve been able to completely re-design our GPS support
and you can now write code with the same familiar object model on Windows 7, Windows
Phone 7 and Windows Mobile and Windows Embedded CE. In the Evaluation version this
shipped as InTheHand.Device.dll but for the full release we changed it to InTheHand.Device.Location.dll
to match the Windows Phone 7 name, the namespaces and classes within the assembly
are unchanged.&lt;/li&gt;
&lt;li&gt;
New InTheHand.Net.dll library – Previously this was released as a separate product
but this now joins the suite and has had a number of new features including asynchronous
versions of the WebClient methods, support for SMTP email sending, Remote Access (RAS)
and some more classes in the NetworkInformation namespace. By integrating with the
suite we have been able to share more functionality so for example our Visual Basic
“My” extensions now have additional networking methods that are present in the full
.NET framework.&lt;/li&gt;
&lt;li&gt;
InTheHand.WindowsMobile.Forms.ControlHelper.EnableVisualStyles – This extension method
allows you to reskin all the supported controls on Windows Mobile 6.5.3 with their
new themed versions.&lt;/li&gt;
&lt;li&gt;
InTheHand.WindowsMobile.Forms.Widget – On Windows Mobile 6.5 and later you can interrogate
the widgets installed on the device. You can programmatically launch or uninstall
Widgets too. There is a new sample application which shows a simple widget manager
application.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
For more information about Mobile In The Hand see &lt;a href="http://inthehand.com/content/Mobile.aspx"&gt;the
product page&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=07321380-cff3-42c9-8c03-38e8fb7ce8c9" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=a5a28a9a-4d28-4bde-b7b4-6a1001cc8f4e</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,a5a28a9a-4d28-4bde-b7b4-6a1001cc8f4e.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c0213f68-2e01-4e5c-a8b2-35e081dcf1ca&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=c0213f68-2e01-4e5c-a8b2-35e081dcf1ca&amp;displaylang=en</a>
        </p>
        <p>
This Developer Tool Kit acts as an add-on to the Windows Mobile 6 SDK. It adds in
Windows Mobile 6.5 and 6.5.3 samples, APIs and Emulators. The download link includes
separate Professional and Standard Edition packages along with a number of localised
emulator images.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a5a28a9a-4d28-4bde-b7b4-6a1001cc8f4e" />
      </body>
      <title>New Windows Mobile 6.5.3 DTK</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,a5a28a9a-4d28-4bde-b7b4-6a1001cc8f4e.aspx</guid>
      <link>http://peterfoot.net/NewWindowsMobile653DTK.aspx</link>
      <pubDate>Tue, 16 Feb 2010 17:33:00 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c0213f68-2e01-4e5c-a8b2-35e081dcf1ca&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=c0213f68-2e01-4e5c-a8b2-35e081dcf1ca&amp;amp;displaylang=en&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This Developer Tool Kit acts as an add-on to the Windows Mobile 6 SDK. It adds in
Windows Mobile 6.5 and 6.5.3 samples, APIs and Emulators. The download link includes
separate Professional and Standard Edition packages along with a number of localised
emulator images.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a5a28a9a-4d28-4bde-b7b4-6a1001cc8f4e" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=8041b13e-c904-4218-b2d8-3c369f407bb8</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,8041b13e-c904-4218-b2d8-3c369f407bb8.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
There are a number of scenarios in which you want to retrieve the icon associated
with a particular executable or other file type. One example is when building a file
browser, you might also want to extract the icon associated with your application
or another. The full .NET framework contains Icon.ExtractAssociatedIcon() for this
very purpose. Mobile In The Hand includes a helper function to achieve the same result
from the Compact Framework. Simply use the following code:-
</p>
        <div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:81759d9f-0e4e-4201-8918-3b07f748db21" class="wlWriterEditableSmartContent">
          <div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt">
            <div style="background: #ddd; max-height: 300px; overflow: auto">
              <ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;">
                <li>
                  <span style="color:#2b91af">Icon</span> i = <span style="color:#2b91af">IconHelper</span>.ExtractAssociatedIcon(filePath);</li>
              </ol>
            </div>
          </div>
        </div>
        <p>
filePath is the full path to any file. The icon will either be the icon associated
with a particular file type or in the case of executables will be the embedded application
icon (or a generic application icon if not present). The result is a regular System.Drawing.Icon
type which you can draw using the Graphics class normally.
</p>
        <p>
The documentation for the IconHelper class is available in <a href="http://inthehand.com/library/">the
online library</a>. For more information about Mobile In The Hand see <a href="http://inthehand.com/content/Mobile.aspx">the
product page</a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=8041b13e-c904-4218-b2d8-3c369f407bb8" />
      </body>
      <title>Application and File Icons with Mobile In The Hand 4.0</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,8041b13e-c904-4218-b2d8-3c369f407bb8.aspx</guid>
      <link>http://peterfoot.net/ApplicationAndFileIconsWithMobileInTheHand40.aspx</link>
      <pubDate>Tue, 26 Jan 2010 17:16:12 GMT</pubDate>
      <description>&lt;p&gt;
There are a number of scenarios in which you want to retrieve the icon associated
with a particular executable or other file type. One example is when building a file
browser, you might also want to extract the icon associated with your application
or another. The full .NET framework contains Icon.ExtractAssociatedIcon() for this
very purpose. Mobile In The Hand includes a helper function to achieve the same result
from the Compact Framework. Simply use the following code:-
&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:81759d9f-0e4e-4201-8918-3b07f748db21" class="wlWriterEditableSmartContent"&gt;
&lt;div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"&gt;
&lt;div style="background: #ddd; max-height: 300px; overflow: auto"&gt;
&lt;ol style="background: #ffffff; margin: 0 0 0 2em; padding: 0 0 0 5px;"&gt;
&lt;li&gt;
&lt;span style="color:#2b91af"&gt;Icon&lt;/span&gt; i = &lt;span style="color:#2b91af"&gt;IconHelper&lt;/span&gt;.ExtractAssociatedIcon(filePath);&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
filePath is the full path to any file. The icon will either be the icon associated
with a particular file type or in the case of executables will be the embedded application
icon (or a generic application icon if not present). The result is a regular System.Drawing.Icon
type which you can draw using the Graphics class normally.
&lt;/p&gt;
&lt;p&gt;
The documentation for the IconHelper class is available in &lt;a href="http://inthehand.com/library/"&gt;the
online library&lt;/a&gt;. For more information about Mobile In The Hand see &lt;a href="http://inthehand.com/content/Mobile.aspx"&gt;the
product page&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=8041b13e-c904-4218-b2d8-3c369f407bb8" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=e7cb673b-6bd2-4ba5-ba0b-683a4be1cb9a</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,e7cb673b-6bd2-4ba5-ba0b-683a4be1cb9a.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
There have been rumours floating around all over the web about Windows Phone future
versions. Microsoft have remained tight lipped allowing various tech sites to come
up with all sorts of fanciful stories. However a tantalising news snippet has appeared
on Microsoft's website for MIX10 the conference for designers and developers coming
up in March in Las Vegas:-
</p>
        <p>
          <a href="http://live.visitmix.com/News/Windows-Phone-at-MIX10">http://live.visitmix.com/News/Windows-Phone-at-MIX10</a>
        </p>
        <p>
It will definitely be worth keeping an eye on this event, hopefully more information
will be released as the sessions and schedule are firmed up:-
</p>
        <p>
          <a href="http://live.visitmix.com/Sessions#/tags/WindowsPhone">http://live.visitmix.com/Sessions#/tags/WindowsPhone</a>
        </p>
        <p>
 
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=e7cb673b-6bd2-4ba5-ba0b-683a4be1cb9a" />
      </body>
      <title>Interesting Windows Phone News for MIX10</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,e7cb673b-6bd2-4ba5-ba0b-683a4be1cb9a.aspx</guid>
      <link>http://peterfoot.net/InterestingWindowsPhoneNewsForMIX10.aspx</link>
      <pubDate>Wed, 20 Jan 2010 17:35:00 GMT</pubDate>
      <description>&lt;p&gt;
There have been rumours floating around all over the web about Windows Phone future
versions. Microsoft have remained tight lipped allowing various tech sites to come
up with all sorts of fanciful stories. However a tantalising news snippet has appeared
on Microsoft's website for MIX10 the conference for designers and developers coming
up in March in Las Vegas:-
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://live.visitmix.com/News/Windows-Phone-at-MIX10"&gt;http://live.visitmix.com/News/Windows-Phone-at-MIX10&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
It will definitely be worth keeping an eye on this event, hopefully more information
will be released as the sessions and schedule are firmed up:-
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://live.visitmix.com/Sessions#/tags/WindowsPhone"&gt;http://live.visitmix.com/Sessions#/tags/WindowsPhone&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=e7cb673b-6bd2-4ba5-ba0b-683a4be1cb9a" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=623b88b9-ed27-44b9-8dd8-9dcd8fe27761</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,623b88b9-ed27-44b9-8dd8-9dcd8fe27761.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Microsoft have now released some replacement developer certificates for Windows Mobile.
See this post for details and a download link:-
</p>
        <p>
          <a href="http://windowsteamblog.com/blogs/wmdev/archive/2010/01/12/new-windows-mobile-developer-certificates.aspx">http://windowsteamblog.com/blogs/wmdev/archive/2010/01/12/new-windows-mobile-developer-certificates.aspx</a>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=623b88b9-ed27-44b9-8dd8-9dcd8fe27761" />
      </body>
      <title>New Development Certificates</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,623b88b9-ed27-44b9-8dd8-9dcd8fe27761.aspx</guid>
      <link>http://peterfoot.net/NewDevelopmentCertificates.aspx</link>
      <pubDate>Wed, 13 Jan 2010 21:25:00 GMT</pubDate>
      <description>&lt;p&gt;
Microsoft have now released some replacement developer certificates for Windows Mobile.
See this post for details and a download link:-
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://windowsteamblog.com/blogs/wmdev/archive/2010/01/12/new-windows-mobile-developer-certificates.aspx"&gt;http://windowsteamblog.com/blogs/wmdev/archive/2010/01/12/new-windows-mobile-developer-certificates.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=623b88b9-ed27-44b9-8dd8-9dcd8fe27761" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=66d78451-50cb-4bc5-840e-38d0c88685b7</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,66d78451-50cb-4bc5-840e-38d0c88685b7.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
As some of you may have noticed the development certificates which are shipped with
the Windows Mobile 6 SDK all expired on 31st December 2009. There have been no updates
provided yet so the only official workaround is to fiddle with the date on your development
PC and devices to set it before 31/12/2009. A ray of hope has been cast by moderator
"Chunsheng Tang" on the MSDN forums:-
</p>
        <p>
          <em>"FYI. The issue will be addressed in the next SDK update in the near furture.
Besides the workarounds mentioned in this thread, you can also temporarily change
the date of the development PC and the devices backward (make sure it's before 12/31/2009)."</em>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=66d78451-50cb-4bc5-840e-38d0c88685b7" />
      </body>
      <title>Expired Development Certificates</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,66d78451-50cb-4bc5-840e-38d0c88685b7.aspx</guid>
      <link>http://peterfoot.net/ExpiredDevelopmentCertificates.aspx</link>
      <pubDate>Sun, 10 Jan 2010 16:52:00 GMT</pubDate>
      <description>&lt;p&gt;
As some of you may have noticed the development certificates which are shipped with
the Windows Mobile 6 SDK all expired on 31st December 2009. There have been no updates
provided yet so the only official workaround is to fiddle with the date on your development
PC and devices to set it before 31/12/2009. A ray of hope has been cast by moderator
"Chunsheng Tang" on the MSDN forums:-
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;"FYI. The issue will be addressed in the next SDK update in the near furture.
Besides the workarounds mentioned in this thread, you can also&amp;nbsp;temporarily change
the date of the development PC and the devices backward (make sure it's before 12/31/2009)."&lt;/em&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=66d78451-50cb-4bc5-840e-38d0c88685b7" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=e5d2de34-fca2-4268-b5de-8ed5d979c8ee</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,e5d2de34-fca2-4268-b5de-8ed5d979c8ee.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of the new items introduced in version 4.0 is a wrapper for the Email configuration
provider. This provides a one-stop-shop to access and modify email account settings.
This is used for all email account types except for Exchange synchronisation. Each
account is identified by a unique Guid so to work with account settings you'll need
to know this. This is exposed through a property of the EmailAccount object, for example
the following code loops through all available EmailAccounts for which there is a
unique ID (excludes the Exchange account).
</p>
        <p>
          <span style="color: #0000ff; font-size: x-small;">
            <span style="color: #0000ff; font-size: x-small;">
              <span style="color: #0000ff; font-size: x-small;">
                <span style="color: #0000ff; font-size: x-small;">
                  <span style="color: #0000ff; font-size: x-small;">
                    <span style="color: #0000ff; font-size: x-small;">
                      <span style="color: #0000ff; font-size: x-small;">
                        <span style="color: #0000ff; font-size: x-small;">foreach </span>
                      </span>
                    </span>
                  </span>
                </span>
                <span style="color: #0000ff; font-size: x-small;">
                  <span style="color: #0000ff; font-size: x-small;">
                    <span style="color: #0000ff; font-size: x-small;">  </span>
                  </span>
                </span>
              </span>
              <span style="color: #0000ff; font-size: x-small;">
                <span style="color: #0000ff; font-size: x-small;">  </span>
              </span>
            </span>
            <span style="color: #0000ff; font-size: x-small;">  </span>
          </span>
          <span style="font-size: x-small;">(</span>
          <span style="color: #2b91af; font-size: x-small;">
            <span style="color: #2b91af; font-size: x-small;">EmailAccount</span>
          </span>
          <span style="font-size: x-small;"> ea </span>
          <span style="color: #0000ff; font-size: x-small;">
            <span style="color: #0000ff; font-size: x-small;">in</span>
          </span>
          <span style="font-size: x-small;"> os.EmailAccounts) <span style="font-size: x-small;"></span></span>
        </p>
        <p>
{
</p>
        <p>
          <span style="color: #0000ff; font-size: x-small;">
            <span style="color: #0000ff; font-size: x-small;">  
if</span>
          </span>
          <span style="font-size: x-small;"> (ea.Properties[</span>
          <span style="color: #2b91af; font-size: x-small;">
            <span style="color: #2b91af; font-size: x-small;">AccountProperty</span>
          </span>
          <span style="font-size: x-small;">.UniqueStoreID]
!= </span>
          <span style="color: #0000ff; font-size: x-small;">
            <span style="color: #0000ff; font-size: x-small;">null</span>
          </span>
          <span style="font-size: x-small;">)</span>
        </p>
        <p>
 
</p>
        <p>
The UniqueStoreID is a Guid property and so can be cast to the Guid type (the Properties
collection returns items of type object because it caters for all different types
of properties).
</p>
        <p>
Guid g = (Guid)ea.Properties[AccountProperty.UniqueStoreID];
</p>
        <p>
The EmailAccountConfiguration class is located in InTheHand.WindowsMobile.Configuration.dll
in the InTheHand.WindowsMobile.Configuration.Providers namespace. A new instance is
created by passing the Guid into the constructor:-
</p>
        <p>
InTheHand.WindowsMobile.Configuration.Providers.EmailAccountConfiguration eac = new
InTheHand.WindowsMobile.Configuration.Providers.EmailAccountConfiguration(g);
</p>
        <p>
Once created you have access to a number of properties which describe the account,
you can change any of these and push your changes by calling the Update() method.
Properties available include the incoming and outgoing servers, the ServiceType -
either "POP3" or "IMAP4", DownloadDays (number of past days to download) and many
more. The documentation for the class is available in <a target="_blank" href="http://inthehand.com/library/" title="In The Hand - Library">the
online library</a>. For more information about Mobile In The Hand see <a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand">the
product page</a>.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=e5d2de34-fca2-4268-b5de-8ed5d979c8ee" />
      </body>
      <title>Email Configuration with Mobile In The Hand 4.0</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,e5d2de34-fca2-4268-b5de-8ed5d979c8ee.aspx</guid>
      <link>http://peterfoot.net/EmailConfigurationWithMobileInTheHand40.aspx</link>
      <pubDate>Wed, 30 Dec 2009 21:48:00 GMT</pubDate>
      <description>&lt;p&gt;
One of the new items introduced in version 4.0 is a wrapper for the Email configuration
provider. This provides a one-stop-shop to access and modify email account settings.
This is used for all email account types except for Exchange synchronisation. Each
account is identified by a unique Guid so to work with account settings you'll need
to know this. This is exposed through a property of the EmailAccount object, for example
the following code loops through all available EmailAccounts for which there is a
unique ID (excludes the Exchange account).
&lt;/p&gt;
&lt;p&gt;
&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;foreach &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;EmailAccount&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; ea &lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;in&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; os.EmailAccounts) &lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;
if&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; (ea.Properties[&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;AccountProperty&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.UniqueStoreID]
!= &lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;)&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The UniqueStoreID is a Guid property and so can be cast to the Guid type (the Properties
collection returns items of type object because it caters for all different types
of properties).
&lt;/p&gt;
&lt;p&gt;
Guid g = (Guid)ea.Properties[AccountProperty.UniqueStoreID];
&lt;/p&gt;
&lt;p&gt;
The EmailAccountConfiguration class is located in InTheHand.WindowsMobile.Configuration.dll
in the InTheHand.WindowsMobile.Configuration.Providers namespace. A new instance is
created by passing the Guid into the constructor:-
&lt;/p&gt;
&lt;p&gt;
InTheHand.WindowsMobile.Configuration.Providers.EmailAccountConfiguration eac = new
InTheHand.WindowsMobile.Configuration.Providers.EmailAccountConfiguration(g);
&lt;/p&gt;
&lt;p&gt;
Once created you have access to a number of properties which describe the account,
you can change any of these and push your changes by calling the Update() method.
Properties available include the incoming and outgoing servers, the ServiceType -
either "POP3" or "IMAP4", DownloadDays (number of past days to download) and many
more. The documentation for the class is available in &lt;a target="_blank" href="http://inthehand.com/library/" title="In The Hand - Library"&gt;the
online library&lt;/a&gt;. For more information about Mobile In The Hand see &lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"&gt;the
product page&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=e5d2de34-fca2-4268-b5de-8ed5d979c8ee" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=a6b68555-62dc-42c6-a285-4ceba5833073</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,a6b68555-62dc-42c6-a285-4ceba5833073.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In Mobile In The Hand 4.0 all the Windows Mobile networking features are
found in the InTheHand.WindowsMobile.Net assembly. This contains support for Connection
Manager, Internet Sharing and Wireless Manager. This post will look at the Internet
Sharing classes. Internet Sharing was introduced in Windows Mobile 5.0 AKU 3 but is
generally associated with Windows Mobile 6. You can share an internet connection over
a USB connection or over Bluetooth using the PAN (Personal Area Network) profile.
To enable or disable a sharing session from your code you need only call a single
method which looks like this:-
</p>
        <p>
InTheHand.WindowsMobile.Net.InternetSharing.Enable(InTheHand.WindowsMobile.Net.SharingConnection.Bluetooth,"O2")
</p>
        <p>
          <span style="font-size: x-small;">The first argument is a member of the SharingConnection
enumeration which contains values for Bluetooth and Usb. The second argument is the
name of the internet connection to use - this is the name of the GPRS connection which
will be dialled. A simple Disable method exists to shut down the sharing connection:-</span>
        </p>
        <p>
          <span style="font-size: x-small;">
            <p>
InTheHand.WindowsMobile.Net.InternetSharing.Disable()
</p>
            <p>
You must remember to disable the connection once you have finished using it.
</p>
          </span>
        </p>
        <p>
          <span style="font-size: x-small;">A <a target="_blank" href="http://inthehand.com/library/" title="In The Hand Library"><span style="color: #006633;">full
online library</span></a> of class documentation for all this and more is available.
For more information about Mobile In The Hand see <a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"><span style="color: #006633;">the
product page</span></a>.</span>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a6b68555-62dc-42c6-a285-4ceba5833073" />
      </body>
      <title>Internet Connection Sharing with Mobile In The Hand 4.0</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,a6b68555-62dc-42c6-a285-4ceba5833073.aspx</guid>
      <link>http://peterfoot.net/InternetConnectionSharingWithMobileInTheHand40.aspx</link>
      <pubDate>Tue, 22 Dec 2009 13:47:00 GMT</pubDate>
      <description>&lt;p&gt;
In&amp;nbsp;Mobile In The Hand&amp;nbsp;4.0 all the Windows Mobile networking features are
found in the InTheHand.WindowsMobile.Net assembly. This contains support for Connection
Manager, Internet Sharing and Wireless Manager. This post will look at the Internet
Sharing classes. Internet Sharing was introduced in Windows Mobile 5.0 AKU 3 but is
generally associated with Windows Mobile 6. You can share an internet connection over
a USB connection or over Bluetooth using the PAN (Personal Area Network) profile.
To enable or disable a sharing session from your code you need only call a single
method which looks like this:-
&lt;/p&gt;
&lt;p&gt;
InTheHand.WindowsMobile.Net.InternetSharing.Enable(InTheHand.WindowsMobile.Net.SharingConnection.Bluetooth,"O2")
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: x-small;"&gt;The first argument is a member of the SharingConnection
enumeration which contains values for Bluetooth and Usb. The second argument is the
name of the internet connection to use - this is the name of the GPRS connection which
will be dialled. A simple Disable method exists to shut down the sharing connection:-&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: x-small;"&gt; 
&lt;p&gt;
InTheHand.WindowsMobile.Net.InternetSharing.Disable()
&lt;/p&gt;
&lt;p&gt;
You must remember to disable the connection once you have finished using it.
&lt;/p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: x-small;"&gt;A &lt;a target="_blank" href="http://inthehand.com/library/" title="In The Hand Library"&gt;&lt;span style="color: #006633;"&gt;full
online library&lt;/span&gt;&lt;/a&gt; of class documentation for all this and more is available.
For more information about Mobile In The Hand see &lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"&gt;&lt;span style="color: #006633;"&gt;the
product page&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a6b68555-62dc-42c6-a285-4ceba5833073" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=73a38a4f-6389-4c64-bb00-a51bcbe3f110</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,73a38a4f-6389-4c64-bb00-a51bcbe3f110.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In the <a target="_blank" href="/blogs/peterfoot/archive/2009/12/07/new-quot-my-quot-functionality-in-mobile-in-the-hand-4-0.aspx" title="New &quot;My&quot; Functionality in Mobile In The Hand 4.0">last
post on "My" functionality</a> I showed you how to get started adding the My Extensions
to your project. In this post I have assembled a detailed tree of all the "My" functionality
added in Mobile In The Hand 4.0.
</p>
        <ul>
          <li>
My 
<ul><li>
Application 
<ul><li>
Culture</li><li>
Info 
<ul><li>
AssemblyName</li><li>
CompanyName</li><li>
Copyright</li><li>
Description</li><li>
DirectoryPath</li><li>
ProductName</li><li>
Title</li><li>
Trademark</li><li>
Version</li></ul></li><li>
UICulture</li></ul></li><li>
Computer 
<ul><li>
Audio 
<ul><li>
Play()</li><li>
PlaySystemSound()</li><li>
Stop()</li></ul></li><li>
Clipboard 
<ul><li>
Clear()</li><li>
GetData()</li><li>
GetDataObject()</li><li>
GetImage()</li><li>
GetText()</li><li>
SetData()</li><li>
SetDataObject()</li><li>
SetImage()</li><li>
SetText()</li></ul></li><li>
Clock 
<ul><li>
GmtTime</li><li>
LocalTime</li><li>
TickCount</li></ul></li><li>
FileSystem 
<ul><li>
CombinePath()</li><li>
CopyDirectory()</li><li>
CopyFile()</li><li>
CreateDirectory()</li><li>
DeleteDirectory()</li><li>
DeleteFile()</li><li>
Drives</li><li>
FileExists()</li><li>
GetDirectories()</li><li>
GetDirectoryInfo()</li><li>
GetDriveInfo()</li><li>
GetFileInfo()</li><li>
GetFiles()</li><li>
GetName()</li><li>
GetParentPath()</li><li>
GetTempFileName()</li><li>
MoveDirectory()</li><li>
MoveFile()</li><li>
OpenTextFileReader()</li><li>
OpenTextFileWriter()</li><li>
ReadAllBytes()</li><li>
ReadAllText()</li><li>
RenameDirectory()</li><li>
RenameFile()</li><li>
SpecialDirectories 
<ul><li>
CurrentUserApplicationData</li><li>
MyDocuments</li><li>
ProgramFiles</li><li>
Programs</li><li>
Temp</li></ul></li><li>
WriteAllBytes()</li><li>
WriteAllText()</li></ul></li><li>
Info 
<ul><li>
AvailablePhysicalMemory</li><li>
AvailableVirtualMemory</li><li>
InstalledUICulture</li><li>
OSPlatform</li><li>
OSVersion</li><li>
TotalPhysicalMemory</li><li>
TotalVirtualMemory</li></ul></li><li>
Keyboard 
<ul><li>
SendKeys()</li></ul></li><li>
Name</li><li>
Ports 
<ul><li>
OpenSerialPort()</li><li>
SerialPortNames</li></ul></li><li>
Registry 
<ul><li>
ClassesRoot</li><li>
CurrentUser</li><li>
GetValue()</li><li>
LocalMachine</li><li>
SetValue()</li></ul></li><li>
Screen</li></ul></li><li>
User 
<ul><li>
Name</li></ul></li></ul></li>
        </ul>
        <p>
A <a target="_blank" href="http://inthehand.com/library/" title="In The Hand Library"><span style="color: #006633;">full
online library</span></a> of class documentation for all this and more is available.
For more information about Mobile In The Hand see <a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"><span style="color: #006633;">the
product page</span></a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=73a38a4f-6389-4c64-bb00-a51bcbe3f110" />
      </body>
      <title>More on "My" Functionality in Mobile In The Hand 4.0</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,73a38a4f-6389-4c64-bb00-a51bcbe3f110.aspx</guid>
      <link>http://peterfoot.net/MoreOnMyFunctionalityInMobileInTheHand40.aspx</link>
      <pubDate>Tue, 15 Dec 2009 17:44:00 GMT</pubDate>
      <description>&lt;p&gt;
In the &lt;a target="_blank" href="/blogs/peterfoot/archive/2009/12/07/new-quot-my-quot-functionality-in-mobile-in-the-hand-4-0.aspx" title="New &amp;quot;My&amp;quot; Functionality in Mobile In The Hand 4.0"&gt;last
post on "My" functionality&lt;/a&gt; I showed you how to get started adding the My Extensions
to your project. In this post I have assembled a detailed tree of all the "My" functionality
added in Mobile In The Hand 4.0.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
My 
&lt;ul&gt;
&lt;li&gt;
Application 
&lt;ul&gt;
&lt;li&gt;
Culture&lt;/li&gt;
&lt;li&gt;
Info 
&lt;ul&gt;
&lt;li&gt;
AssemblyName&lt;/li&gt;
&lt;li&gt;
CompanyName&lt;/li&gt;
&lt;li&gt;
Copyright&lt;/li&gt;
&lt;li&gt;
Description&lt;/li&gt;
&lt;li&gt;
DirectoryPath&lt;/li&gt;
&lt;li&gt;
ProductName&lt;/li&gt;
&lt;li&gt;
Title&lt;/li&gt;
&lt;li&gt;
Trademark&lt;/li&gt;
&lt;li&gt;
Version&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
UICulture&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Computer 
&lt;ul&gt;
&lt;li&gt;
Audio 
&lt;ul&gt;
&lt;li&gt;
Play()&lt;/li&gt;
&lt;li&gt;
PlaySystemSound()&lt;/li&gt;
&lt;li&gt;
Stop()&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Clipboard 
&lt;ul&gt;
&lt;li&gt;
Clear()&lt;/li&gt;
&lt;li&gt;
GetData()&lt;/li&gt;
&lt;li&gt;
GetDataObject()&lt;/li&gt;
&lt;li&gt;
GetImage()&lt;/li&gt;
&lt;li&gt;
GetText()&lt;/li&gt;
&lt;li&gt;
SetData()&lt;/li&gt;
&lt;li&gt;
SetDataObject()&lt;/li&gt;
&lt;li&gt;
SetImage()&lt;/li&gt;
&lt;li&gt;
SetText()&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Clock 
&lt;ul&gt;
&lt;li&gt;
GmtTime&lt;/li&gt;
&lt;li&gt;
LocalTime&lt;/li&gt;
&lt;li&gt;
TickCount&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
FileSystem 
&lt;ul&gt;
&lt;li&gt;
CombinePath()&lt;/li&gt;
&lt;li&gt;
CopyDirectory()&lt;/li&gt;
&lt;li&gt;
CopyFile()&lt;/li&gt;
&lt;li&gt;
CreateDirectory()&lt;/li&gt;
&lt;li&gt;
DeleteDirectory()&lt;/li&gt;
&lt;li&gt;
DeleteFile()&lt;/li&gt;
&lt;li&gt;
Drives&lt;/li&gt;
&lt;li&gt;
FileExists()&lt;/li&gt;
&lt;li&gt;
GetDirectories()&lt;/li&gt;
&lt;li&gt;
GetDirectoryInfo()&lt;/li&gt;
&lt;li&gt;
GetDriveInfo()&lt;/li&gt;
&lt;li&gt;
GetFileInfo()&lt;/li&gt;
&lt;li&gt;
GetFiles()&lt;/li&gt;
&lt;li&gt;
GetName()&lt;/li&gt;
&lt;li&gt;
GetParentPath()&lt;/li&gt;
&lt;li&gt;
GetTempFileName()&lt;/li&gt;
&lt;li&gt;
MoveDirectory()&lt;/li&gt;
&lt;li&gt;
MoveFile()&lt;/li&gt;
&lt;li&gt;
OpenTextFileReader()&lt;/li&gt;
&lt;li&gt;
OpenTextFileWriter()&lt;/li&gt;
&lt;li&gt;
ReadAllBytes()&lt;/li&gt;
&lt;li&gt;
ReadAllText()&lt;/li&gt;
&lt;li&gt;
RenameDirectory()&lt;/li&gt;
&lt;li&gt;
RenameFile()&lt;/li&gt;
&lt;li&gt;
SpecialDirectories 
&lt;ul&gt;
&lt;li&gt;
CurrentUserApplicationData&lt;/li&gt;
&lt;li&gt;
MyDocuments&lt;/li&gt;
&lt;li&gt;
ProgramFiles&lt;/li&gt;
&lt;li&gt;
Programs&lt;/li&gt;
&lt;li&gt;
Temp&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
WriteAllBytes()&lt;/li&gt;
&lt;li&gt;
WriteAllText()&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Info 
&lt;ul&gt;
&lt;li&gt;
AvailablePhysicalMemory&lt;/li&gt;
&lt;li&gt;
AvailableVirtualMemory&lt;/li&gt;
&lt;li&gt;
InstalledUICulture&lt;/li&gt;
&lt;li&gt;
OSPlatform&lt;/li&gt;
&lt;li&gt;
OSVersion&lt;/li&gt;
&lt;li&gt;
TotalPhysicalMemory&lt;/li&gt;
&lt;li&gt;
TotalVirtualMemory&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Keyboard 
&lt;ul&gt;
&lt;li&gt;
SendKeys()&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Name&lt;/li&gt;
&lt;li&gt;
Ports 
&lt;ul&gt;
&lt;li&gt;
OpenSerialPort()&lt;/li&gt;
&lt;li&gt;
SerialPortNames&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Registry 
&lt;ul&gt;
&lt;li&gt;
ClassesRoot&lt;/li&gt;
&lt;li&gt;
CurrentUser&lt;/li&gt;
&lt;li&gt;
GetValue()&lt;/li&gt;
&lt;li&gt;
LocalMachine&lt;/li&gt;
&lt;li&gt;
SetValue()&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Screen&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
User 
&lt;ul&gt;
&lt;li&gt;
Name&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
A &lt;a target="_blank" href="http://inthehand.com/library/" title="In The Hand Library"&gt;&lt;span style="color: #006633;"&gt;full
online library&lt;/span&gt;&lt;/a&gt; of class documentation for all this and more is available.
For more information about Mobile In The Hand see &lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"&gt;&lt;span style="color: #006633;"&gt;the
product page&lt;/span&gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=73a38a4f-6389-4c64-bb00-a51bcbe3f110" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=370af571-5da5-47aa-831b-83838ec073f4</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,370af571-5da5-47aa-831b-83838ec073f4.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of the goals of the Mobile In The Hand library has always been to provide a consistent
managed API regardless of which specific flavour of Windows Mobile device you are
using. One example of this is using the Vibration feature used to alert the user.
The APIs are completely different and so we have provided a simple managed API composing
of just two static methods:-
</p>
        <p>
InTheHand.WindowsMobile.Forms.Vibrate.Play();
</p>
        <p>
System.Threading.Thread.Sleep(500);
</p>
        <p>
InTheHand.WindowsMobile.Forms.Vibrate.Stop();
</p>
        <p>
 
</p>
        <p>
You generally won't want to vibrate the device for very long because it would be both
annoying, and a battery drain. To avoid holding up your UI thread you can call the
methods on a separate thread. Just remember you must call Stop() to turn off the vibration.
</p>
        <p>
Another example of functionality which is implemented differently between touchscreen
and non-touchscreen devices are Profiles. Standard Edition devices can feature
a number of profiles for different scenarios, touch screen devices have just three
- On, Vibrate only and Off. To retrieve all of the available profiles use the following
code:-
</p>
        <p>
 
</p>
        <p>
foreach(string profile in InTheHand.WindowsMobile.Forms.MobileDevice.Profiles)
</p>
        <p>
{
</p>
        <p>
MessageBox.Show(profile);
</p>
        <p>
}
</p>
        <p>
You can set the device profile using a call to <strong>SetProfile</strong>:-
</p>
        <div>
        </div>
        <p>
InTheHand.WindowsMobile.Forms.MobileDevice.SetProfile("Vibrate");
</p>
        <p>
The name of the currently selected profile is available from the <strong>CurrentProfile</strong> property:-
</p>
        <p>
MessageBox.Show(InTheHand.WindowsMobile.Forms.MobileDevice.CurrentProfile);
</p>
        <p>
A <a target="_blank" href="http://inthehand.com/library/" title="In The Hand Library"><span style="color: #006633;">full
online library</span></a> of class documentation for all this and more is available.
For more information about Mobile In The Hand see <a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"><span style="color: #006633;">the
product page</span></a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=370af571-5da5-47aa-831b-83838ec073f4" />
      </body>
      <title>Vibration and Profiles with Mobile In The Hand 4.0</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,370af571-5da5-47aa-831b-83838ec073f4.aspx</guid>
      <link>http://peterfoot.net/VibrationAndProfilesWithMobileInTheHand40.aspx</link>
      <pubDate>Mon, 14 Dec 2009 16:58:00 GMT</pubDate>
      <description>&lt;p&gt;
One of the goals of the Mobile In The Hand library has always been to provide a consistent
managed API regardless of which specific flavour of Windows Mobile device you are
using. One example of this is using the Vibration feature used to alert the user.
The APIs are completely different and so we have provided a simple managed API composing
of just two static methods:-
&lt;/p&gt;
&lt;p&gt;
InTheHand.WindowsMobile.Forms.Vibrate.Play();
&lt;/p&gt;
&lt;p&gt;
System.Threading.Thread.Sleep(500);
&lt;/p&gt;
&lt;p&gt;
InTheHand.WindowsMobile.Forms.Vibrate.Stop();
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
You generally won't want to vibrate the device for very long because it would be both
annoying, and a battery drain. To avoid holding up your UI thread you can call the
methods on a separate thread. Just remember you must call Stop() to turn off the vibration.
&lt;/p&gt;
&lt;p&gt;
Another example of functionality which is implemented differently between touchscreen
and non-touchscreen devices&amp;nbsp;are Profiles. Standard Edition devices can feature
a number of profiles for different scenarios, touch screen devices have just three
- On, Vibrate only and Off. To retrieve all of the available profiles use the following
code:-
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
foreach(string profile in InTheHand.WindowsMobile.Forms.MobileDevice.Profiles)
&lt;/p&gt;
&lt;p&gt;
{
&lt;/p&gt;
&lt;p&gt;
MessageBox.Show(profile);
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
You can set the device profile using a call to &lt;strong&gt;SetProfile&lt;/strong&gt;:-
&lt;/p&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;p&gt;
InTheHand.WindowsMobile.Forms.MobileDevice.SetProfile("Vibrate");
&lt;/p&gt;
&lt;p&gt;
The name of the currently selected profile is available from the &lt;strong&gt;CurrentProfile&lt;/strong&gt; property:-
&lt;/p&gt;
&lt;p&gt;
MessageBox.Show(InTheHand.WindowsMobile.Forms.MobileDevice.CurrentProfile);
&lt;/p&gt;
&lt;p&gt;
A &lt;a target="_blank" href="http://inthehand.com/library/" title="In The Hand Library"&gt;&lt;span style="color: #006633;"&gt;full
online library&lt;/span&gt;&lt;/a&gt; of class documentation for all this and more is available.
For more information about Mobile In The Hand see &lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"&gt;&lt;span style="color: #006633;"&gt;the
product page&lt;/span&gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=370af571-5da5-47aa-831b-83838ec073f4" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=0a209090-66d2-4630-9a08-773a7bbd1fa6</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,0a209090-66d2-4630-9a08-773a7bbd1fa6.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A commonly requested feature is the ability to switch audio to play through a Bluetooth
headset device. Mobile In The Hand 4.0 brings this functionality to .NET Compact Framework
developers allowing you to play any device audio through a paired headset device.
It also includes classes to playback sounds too.
</p>
        <p>
The AudioGateway sample application which ships with the library contains the functionality
to playback a sound file and toggle between the device speaker and a headset. The
code to perform the switch is incredibly simple:-
</p>
        <p>
          <span style="color: #0000ff; font-size: x-small;">private </span>
          <span style="color: #0000ff; font-size: x-small;"> </span>
          <span style="color: #2b91af; font-size: x-small;">BluetoothAudioGateway</span>
          <span style="font-size: x-small;"> bag
= </span>
          <span style="color: #0000ff; font-size: x-small;">new</span>
          <span style="font-size: x-small;">
          </span>
          <span style="color: #2b91af; font-size: x-small;">BluetoothAudioGateway</span>
          <span style="font-size: x-small;">();</span>
        </p>
        <p>
          <span style="font-size: x-small;">The <strong>BluetoothAudioGateway</strong> exists
in the <strong>InTheHand.WindowsMobile.Media</strong> namespace. A <strong>CheckBox</strong> control
toggles the output using the following code:-</span>
        </p>
        <div>
        </div>
        <p>
          <span style="color: #0000ff; font-size: x-small;">private </span>
          <span style="color: #0000ff; font-size: x-small;">  </span>
          <span style="color: #0000ff; font-size: x-small;">void</span>
          <span style="color: #000000; font-size: x-small;"> chkGateway_CheckStateChanged(</span>
          <span style="color: #0000ff; font-size: x-small;">object</span>
          <span style="color: #000000; font-size: x-small;"> sender, </span>
          <span style="color: #2b91af; font-size: x-small;">EventArgs</span>
          <span style="font-size: x-small;">
            <span style="color: #000000;"> e)</span>
            <p>
{
</p>
            <span style="font-size: x-small;">
              <p>
 
</p>
            </span>
            <p>
              <span style="color: #0000ff; font-size: x-small;">   if</span>
              <span style="font-size: x-small;"> (chkGateway.Checked) 
<p>
   {
</p><p>
      bag.OpenAudio();
</p><p>
   }
</p><span style="font-size: x-small;"><p>
 
</p></span><p><span style="color: #0000ff; font-size: x-small;">   else</span></p><span style="font-size: x-small;"><p>
   {
</p><p>
      bag.CloseAudio();
</p><p>
   }
</p><p>
}
</p><p><strong>OpenAudio</strong> opens the connection to the headset and sends audio output
to it. <strong>CloseAudio</strong> closes the connection and returns output to the
built in speaker. The <strong>SoundPlayer</strong> class is used to play back a sound
file:-
</p><p><span style="font-size: x-small;">InTheHand.Media. </span><span style="color: #2b91af; font-size: x-small;">SoundPlayer</span><span style="font-size: x-small;"> sp
= </span><span style="color: #0000ff; font-size: x-small;">new</span><span style="font-size: x-small;"> InTheHand.Media.</span><span style="color: #2b91af; font-size: x-small;">SoundPlayer</span><span style="font-size: x-small;">(txtFilename.Text);</span></p><p><span style="font-size: x-small;">sp.Play(); 
<p>
A <a target="_blank" href="http://inthehand.com/library/" title="In The Hand Library">full
online library</a> of class documentation for all this and more is available. For
more information about Mobile In The Hand see <a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"><span style="color: #006633;">the
product page</span></a>.
</p></span></p></span></span>
            </p>
          </span>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=0a209090-66d2-4630-9a08-773a7bbd1fa6" />
      </body>
      <title>Using Bluetooth Headsets with Mobile In The Hand 4.0</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,0a209090-66d2-4630-9a08-773a7bbd1fa6.aspx</guid>
      <link>http://peterfoot.net/UsingBluetoothHeadsetsWithMobileInTheHand40.aspx</link>
      <pubDate>Fri, 11 Dec 2009 00:31:00 GMT</pubDate>
      <description>&lt;p&gt;
A commonly requested feature is the ability to switch audio to play through a Bluetooth
headset device. Mobile In The Hand 4.0 brings this functionality to .NET Compact Framework
developers allowing you to play any device audio through a paired headset device.
It also includes classes to playback sounds too.
&lt;/p&gt;
&lt;p&gt;
The AudioGateway sample application which ships with the library contains the functionality
to playback a sound file and toggle between the device speaker and a headset. The
code to perform the switch is incredibly simple:-
&lt;/p&gt;
&lt;p&gt;
&lt;span style="color: #0000ff; font-size: x-small;"&gt;private &lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt; &lt;span style="color: #2b91af; font-size: x-small;"&gt;BluetoothAudioGateway&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; bag
= &lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;new&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;BluetoothAudioGateway&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;();&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: x-small;"&gt;The &lt;strong&gt;BluetoothAudioGateway&lt;/strong&gt; exists
in the &lt;strong&gt;InTheHand.WindowsMobile.Media&lt;/strong&gt; namespace. A &lt;strong&gt;CheckBox&lt;/strong&gt; control
toggles the output using the following code:-&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;span style="color: #0000ff; font-size: x-small;"&gt;private &lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;void&lt;/span&gt;&lt;span style="color: #000000; font-size: x-small;"&gt; chkGateway_CheckStateChanged(&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;object&lt;/span&gt;&lt;span style="color: #000000; font-size: x-small;"&gt; sender, &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;EventArgs&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #000000;"&gt; e)&lt;/span&gt; 
&lt;p&gt;
{
&lt;/p&gt;
&lt;span style="font-size: x-small;"&gt; 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/span&gt; 
&lt;p&gt;
&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; if&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; (chkGateway.Checked) 
&lt;p&gt;
&amp;nbsp;&amp;nbsp; {
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bag.OpenAudio();
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp; }
&lt;/p&gt;
&lt;span style="font-size: x-small;"&gt; 
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;/span&gt; 
&lt;p&gt;
&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; else&lt;/span&gt;
&lt;/p&gt;
&lt;span style="font-size: x-small;"&gt; 
&lt;p&gt;
&amp;nbsp;&amp;nbsp; {
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bag.CloseAudio();
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp; }
&lt;/p&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;OpenAudio&lt;/strong&gt; opens the connection to the headset and sends audio output
to it. &lt;strong&gt;CloseAudio&lt;/strong&gt; closes the connection and returns output to the
built in speaker. The &lt;strong&gt;SoundPlayer&lt;/strong&gt; class is used to play back a sound
file:-
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: x-small;"&gt;InTheHand.Media. &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;SoundPlayer&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; sp
= &lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;new&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; InTheHand.Media.&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;SoundPlayer&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;(txtFilename.Text);&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: x-small;"&gt;sp.Play(); 
&lt;p&gt;
A &lt;a target="_blank" href="http://inthehand.com/library/" title="In The Hand Library"&gt;full
online library&lt;/a&gt; of class documentation for all this and more is available. For
more information about Mobile In The Hand see &lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"&gt;&lt;span style="color: #006633;"&gt;the
product page&lt;/span&gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=0a209090-66d2-4630-9a08-773a7bbd1fa6" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=746add8e-d262-4205-a674-7cb32726dbb1</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,746add8e-d262-4205-a674-7cb32726dbb1.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In the last post we saw the new My Extensions template which adds access to new Visual
Basic features. In this post we will look at another new item introduced with Mobile
In The Hand 4.0 - Provisioning XML. Visual Studio has a rich XML Editor built in,
Windows Mobile uses provisioning XML documents for everything from adding a browser
favourite through to configuring a new GPRS network. The new template allows you to
quickly create an empty Provisioning XML document and includes the schema to ensure
your document is valid. Let Visual Studio's Intellisense help you quickly build a
provisioning document.
</p>
        <p>
As with the Visual Basic example you start with an existing device project, in this
case it can be either C# or Visual Basic. Select Add New Item and choose Provisioning
XML from the list:-
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough2.png" />
        </p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough1.png" />
        </p>
        <p>
In this example I have called the file AddFavourite.xml (no prizes for guessing what
task we will be performing). The document is created with a skeleton provisioning
document. Notice the namespace is provided which links to the schema we installed
for you.
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough2.png" />
        </p>
        <p>
You can now add the required code between the wap-provisioningdoc tags. As you start
to type the IntelliSense will suggest valid elements for you based on the schema:-
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough3.png" />
        </p>
        <p>
 
</p>
        <p>
This makes it very easy to quickly build up a complete document:-
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough4.png" />
        </p>
        <p>
You can process a configuration document like this using the ConfigurationManager
class. By setting the document as an embedded resource you can use the following code
to load it and pass it to the ConfigurationManager:-
</p>
        <p>
 
</p>
        <p>
Dim xd As New System.Xml.XmlDocument
</p>
        <p>
xd.Load(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("VisualBasicDeviceProject.AddFavourite.xml"))
</p>
        <p>
InTheHand.WindowsMobile.Configuration.ConfigurationManager.ProcessConfiguration(xd,
False)
</p>
        <p>
          <span style="font-size: x-small;">After running this code you can check your Internet
Explorer Mobile favourites:-</span>
        </p>
        <div>
        </div>
        <p>
          <span style="font-size: x-small;">
            <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough5.png" />
          </span>
        </p>
        <p>
For more information about the library see <a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"><span style="color: #006633;">the
product page</span></a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=746add8e-d262-4205-a674-7cb32726dbb1" />
      </body>
      <title>Windows Mobile Provisioning using Mobile In The Hand 4.0</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,746add8e-d262-4205-a674-7cb32726dbb1.aspx</guid>
      <link>http://peterfoot.net/WindowsMobileProvisioningUsingMobileInTheHand40.aspx</link>
      <pubDate>Wed, 09 Dec 2009 05:53:00 GMT</pubDate>
      <description>&lt;p&gt;
In the last post we saw the new My Extensions template which adds access to new Visual
Basic features. In this post we will look at another new item introduced with Mobile
In The Hand 4.0 - Provisioning XML. Visual Studio has a rich XML Editor built in,
Windows Mobile uses provisioning XML documents for everything from adding a browser
favourite through to configuring a new GPRS network. The new template allows you to
quickly create an empty Provisioning XML document and includes the schema to ensure
your document is valid. Let Visual Studio's Intellisense help you quickly build a
provisioning document.
&lt;/p&gt;
&lt;p&gt;
As with the Visual Basic example you start with an existing device project, in this
case it can be either C# or Visual Basic. Select Add New Item and choose Provisioning
XML from the list:-
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough2.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough1.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
In this example I have called the file AddFavourite.xml (no prizes for guessing what
task we will be performing). The document is created with a skeleton provisioning
document. Notice the namespace is provided which links to the schema we installed
for you.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough2.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
You can now add the required code between the wap-provisioningdoc tags. As you start
to type the IntelliSense will suggest valid elements for you based on the schema:-
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough3.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
This makes it very easy to quickly build up a complete document:-
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough4.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
You can process a configuration document like this using the ConfigurationManager
class. By setting the document as an embedded resource you can use the following code
to load it and pass it to the ConfigurationManager:-
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Dim&amp;nbsp;xd As New System.Xml.XmlDocument
&lt;/p&gt;
&lt;p&gt;
xd.Load(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("VisualBasicDeviceProject.AddFavourite.xml"))
&lt;/p&gt;
&lt;p&gt;
InTheHand.WindowsMobile.Configuration.ConfigurationManager.ProcessConfiguration(xd,
False)
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: x-small;"&gt;After running this code you can check your Internet
Explorer Mobile favourites:-&lt;/span&gt;
&lt;/p&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;span style="font-size: x-small;"&gt;&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/XmlWalkthrough5.png" /&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
For more information about the library see &lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"&gt;&lt;span style="color: #006633;"&gt;the
product page&lt;/span&gt;&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=746add8e-d262-4205-a674-7cb32726dbb1" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=182d1a55-146a-402b-9d1e-25b84f4f085f</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,182d1a55-146a-402b-9d1e-25b84f4f085f.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
This blog post will walk through the process of adding the additional "My" functionality
added in InTheHand.VisualBasic. To start off, open Visual Studio 2008 and create a
new Visual Basic device project (or open an existing one). At this point you'll end
up with a solution window which looks a bit like this. Note the inspired project name
in this example:-
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough1.png" />
        </p>
        <p>
 
</p>
        <p>
The next step is to right-click the project and select <strong>Add</strong> &gt; <strong>New
Item...</strong> from the menu:-
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough2.png" />
        </p>
        <p>
This will bring up the Add New Item window from which you should see <strong>MyExtensions</strong> among
the list. Select this (you can change the default name if required) and click <strong>Add</strong>.
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough3.png" />
        </p>
        <p>
The new code file is added to the project. You don't need to edit this and you won't
be interacting with it directly from your code. Your solution window will now look
like this:-
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough4.png" />
        </p>
        <p>
 
</p>
        <p>
You can now get on with building your application. Any time you start to type My you'll
see a much longer list of options:-
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough5.png" />
        </p>
        <p>
Application, Computer and User are new items added by this library and provide additional
functionality, all remaining a direct subset of the desktop experience. For example
I added a button and in the Click handler added this simple code snippet:-
</p>
        <p>
        </p>
        <p>
          <span style="font-size: x-small;">
            <font size="2">
              <p>
MessageBox.Show(
</p>
            </font>
          </span>
        </p>
        <p>
          <span style="color: #0000ff; font-size: x-small;">
            <span style="color: #0000ff; font-size: x-small;">My</span>
          </span>
          <span style="font-size: x-small;">.Application.Info.ProductName)</span>
        </p>
        <p>
On running the code the Product Name is retrieved from the assembly information:-
</p>
        <p>
          <img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough6.png" /> 
</p>
        <p>
In a future post I'll run through the various items available through the "My" syntax.
For more information about the library see <a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand">the
product page</a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=182d1a55-146a-402b-9d1e-25b84f4f085f" />
      </body>
      <title>New "My" Functionality in Mobile In The Hand 4.0</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,182d1a55-146a-402b-9d1e-25b84f4f085f.aspx</guid>
      <link>http://peterfoot.net/NewMyFunctionalityInMobileInTheHand40.aspx</link>
      <pubDate>Mon, 07 Dec 2009 22:38:00 GMT</pubDate>
      <description>&lt;p&gt;
This blog post will walk through the process of adding the additional "My" functionality
added in InTheHand.VisualBasic. To start off, open Visual Studio 2008 and create a
new Visual Basic device project (or open an existing one). At this point you'll end
up with a solution window which looks a bit like this. Note the inspired project name
in this example:-
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough1.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The next step is to right-click the project and select &lt;strong&gt;Add&lt;/strong&gt; &amp;gt; &lt;strong&gt;New
Item...&lt;/strong&gt; from the menu:-
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough2.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
This will bring up the Add New Item window from which you should see &lt;strong&gt;MyExtensions&lt;/strong&gt; among
the list. Select this (you can change the default name if required) and click &lt;strong&gt;Add&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough3.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
The new code file is added to the project. You don't need to edit this and you won't
be interacting with it directly from your code. Your solution window will now look
like this:-
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough4.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
You can now get on with building your application. Any time you start to type My you'll
see a much longer list of options:-
&lt;/p&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough5.png" /&gt;
&lt;/p&gt;
&lt;p&gt;
Application, Computer and User are new items added by this library and provide additional
functionality, all remaining a direct subset of the desktop experience. For example
I added a button and in the Click handler added this simple code snippet:-
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;
&lt;span style="font-size: x-small;"&gt;&lt;font size="2"&gt; 
&lt;p&gt;
MessageBox.Show(
&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt; 
&lt;p&gt;
&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;My&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.Application.Info.ProductName)&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
On running the code the Product Name is retrieved from the assembly information:-
&lt;/p&gt;
&gt;
&gt;
&lt;p&gt;
&lt;img src="/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.00/mywalkthrough6.png" /&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
In a future post I'll run through the various items available through the "My" syntax.
For more information about the library see &lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"&gt;the
product page&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=182d1a55-146a-402b-9d1e-25b84f4f085f" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=ccd3b5eb-cc56-43ce-b493-35550053c5cd</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,ccd3b5eb-cc56-43ce-b493-35550053c5cd.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Today we put the final touches to Mobile In The Hand 4.0 and have released this latest
version of the suite. This is a major reworking of the code and the library is now
broken into 10 separate dlls so you only need to deploy the specific functionality
you require in a project. We have also added some additional functionality alongside
the code libraries themselves to add "My" keyword functionality for Visual Basic users
and make it easier to incorporate and edit provisioning XML documents. Over the next
few weeks I'll be posting a number of blog articles to highlight new features and
elaborate on some of the less visible features.
</p>
        <p>
Full details of the library are available on the <a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand">product
page</a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=ccd3b5eb-cc56-43ce-b493-35550053c5cd" />
      </body>
      <title>Mobile In The Hand 4.0 Released</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,ccd3b5eb-cc56-43ce-b493-35550053c5cd.aspx</guid>
      <link>http://peterfoot.net/MobileInTheHand40Released.aspx</link>
      <pubDate>Mon, 07 Dec 2009 22:29:00 GMT</pubDate>
      <description>&lt;p&gt;
Today we put the final touches to Mobile In The Hand 4.0 and have released this latest
version of the suite. This is a major reworking of the code and the library is now
broken into 10 separate dlls so you only need to deploy the specific functionality
you require in a project. We have also added some additional functionality alongside
the code libraries themselves to add "My" keyword functionality for Visual Basic users
and make it easier to incorporate and edit provisioning XML documents. Over the next
few weeks I'll be posting a number of blog articles to highlight new features and
elaborate on some of the less visible features.
&lt;/p&gt;
&lt;p&gt;
Full details of the library are available on the &lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx" title="Mobile In The Hand"&gt;product
page&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=ccd3b5eb-cc56-43ce-b493-35550053c5cd" /&gt;</description>
      <category>Compact Framework</category>
      <category>Mobile4</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=80481ccf-afca-44e8-b0f0-1c332b2c1919</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,80481ccf-afca-44e8-b0f0-1c332b2c1919.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In Professional Edition (Pocket PC) devices the Clock control panel allows you to
set a home timezone and a visiting zone and lets you toggle between them. If you need
to retrieve the current settings they are stored in the registry in a key called HKEY_LOCAL_MACHINE\Software\Microsoft\Clock
in a binary value called "AppInfo". Here is breakdown of that data:-
</p>
        <p>
00,00,00,00,31,00,00,00,55,00,00,00,00,00,00,00,01,00,00,00,80,01,00,00,be,00,00,00,00,00,00,00,00,00,00,00
</p>
        <p>
The first 4 bytes contains an integer which is 1 if in the home zone, and 0 if visiting.
</p>
        <p>
The next 4 bytes always seems to be 0x31
</p>
        <p>
The next 4 bytes are the index into the timezone collection of the home zone (In this
example 85 GMT)
</p>
        <p>
The next 4 bytes are unused
</p>
        <p>
The next 4 bytes indicate whether to use DST (In this example 1 true)
</p>
        <p>
The next 4 bytes are always 0x180
</p>
        <p>
The next 4 bytes are the index into the timezone collection of the visiting zone (in
this example 190 - New Delhi)
</p>
        <p>
The next 4 bytes are unused
</p>
        <p>
The next 4 bytes indicate whether to use DST in visiting zone (In this example 0 false)
</p>
        <p>
I suspect that the unused values may be connected to the old Cities feature which
was originally in the control panel but removed with PPC2003. You may be wondering
how to get the timezone information at the specified indexes - in Windows Mobile they
are not all stored in the registry as on other Windows CE flavours. They are accessible
through POOM - <a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms860764.aspx">IPOutlookApp.GetTimeZoneFromIndex</a>,
or in managed code in <a target="_blank" href="http://inthehand.com/content/Mobile.aspx">Mobile
In The Hand</a>.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=80481ccf-afca-44e8-b0f0-1c332b2c1919" />
      </body>
      <title>Home and Visiting Clocks in Professional Edition</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,80481ccf-afca-44e8-b0f0-1c332b2c1919.aspx</guid>
      <link>http://peterfoot.net/HomeAndVisitingClocksInProfessionalEdition.aspx</link>
      <pubDate>Wed, 13 Aug 2008 16:47:00 GMT</pubDate>
      <description>&lt;p&gt;
In Professional Edition (Pocket PC) devices the Clock control panel allows you to
set a home timezone and a visiting zone and lets you toggle between them. If you need
to retrieve the current settings they are stored in the registry in a key called HKEY_LOCAL_MACHINE\Software\Microsoft\Clock
in a binary&amp;nbsp;value called "AppInfo". Here is&amp;nbsp;breakdown of that data:-
&lt;/p&gt;
&lt;p&gt;
00,00,00,00,31,00,00,00,55,00,00,00,00,00,00,00,01,00,00,00,80,01,00,00,be,00,00,00,00,00,00,00,00,00,00,00
&lt;/p&gt;
&lt;p&gt;
The first 4 bytes contains an integer which is 1 if in the home zone, and 0 if visiting.
&lt;/p&gt;
&lt;p&gt;
The next 4 bytes always seems to be 0x31
&lt;/p&gt;
&lt;p&gt;
The next 4 bytes are the index into the timezone collection of the home zone (In this
example 85 GMT)
&lt;/p&gt;
&lt;p&gt;
The next 4 bytes are unused
&lt;/p&gt;
&lt;p&gt;
The next 4 bytes indicate whether to use DST (In this example 1 true)
&lt;/p&gt;
&lt;p&gt;
The next 4 bytes are always 0x180
&lt;/p&gt;
&lt;p&gt;
The next 4 bytes are the index into the timezone collection of the visiting zone (in
this example 190 - New Delhi)
&lt;/p&gt;
&lt;p&gt;
The next 4 bytes are unused
&lt;/p&gt;
&lt;p&gt;
The next 4 bytes indicate whether to use DST in visiting zone (In this example 0 false)
&lt;/p&gt;
&lt;p&gt;
I suspect that the unused values may be connected to the old Cities feature which
was originally in the control panel but removed with PPC2003. You may be wondering
how to get the timezone information at the specified indexes - in Windows Mobile they
are not all stored in the registry as on other Windows CE flavours. They are accessible
through POOM - &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms860764.aspx"&gt;IPOutlookApp.GetTimeZoneFromIndex&lt;/a&gt;,
or in managed code in &lt;a target="_blank" href="http://inthehand.com/content/Mobile.aspx"&gt;Mobile
In The Hand&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=80481ccf-afca-44e8-b0f0-1c332b2c1919" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=858eac50-435f-46aa-b9de-bb23c663915e</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,858eac50-435f-46aa-b9de-bb23c663915e.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p mce_keep="true">
With Windows Mobile 5.0 AKU2.0 (Messaging &amp; Security Feature Pack) a new feature
was implemented called RemoteWipe. This allowed an administrator to remotely wipe
a device if it may have got lost and was designed to remove all sensitive data from
the device and return it to a fresh state. It was only with Windows Mobile 6 that
the details of the implementation were added to the SDK documentation. Like most other
administration and device management features RemoteWipe is implemented as a Configuration
Service Provider, this allows it to be activated either via remote or local means.
For example you could build a mechanism into your software where you wish to wipe
the device, perhaps after an extended number of failed password entries etc. Whether
you can call the CSP will depend on the particular security policy on the device,
however if possible you can initiate a wipe locally with either DMProcessConfigXML
or the managed ConfigurationManager e.g.
</p>
        <font size="2">System.Xml.</font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">XmlDocument</font>
        </font>
        <font size="2"> cd
= </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">new</font>
        </font>
        <font size="2"> System.Xml.</font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">XmlDocument</font>
        </font>
        <font size="2">();</font>
        <font size="2"> cd.LoadXml(</font>
        <font color="#a31515" size="2">
          <font color="#a31515" size="2">"&lt;wap-provisioningdoc&gt;&lt;characteristic
type=\"RemoteWipe\"&gt;&lt;parm name=\"doWipe\" value=\"1\"/&gt;&lt;/characteristic&gt;&lt;/wap-provisioningdoc&gt;"</font>
        </font>
        <font size="2">);</font>
        <font size="2">
          <p>
System.Xml.
</p>
        </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">XmlDocument</font>
        </font>
        <font size="2"> xd
= </font>
        <font color="#2b91af" size="2">
          <font color="#2b91af" size="2">ConfigurationManager</font>
        </font>
        <font size="2">.ProcessConfiguration(cd, </font>
        <font color="#0000ff" size="2">
          <font color="#0000ff" size="2">true</font>
        </font>
        <font size="2">);</font>
        <p>
          <font size="2">Of course you use this code snippet at your own risk, if it works successfully
it will wipe data from your device and return to factory fresh condition!</font>
        </p>
        <p>
          <font size="2">More details about the service provider here:-</font>
        </p>
        <p>
          <font size="2">
            <a href="http://msdn.microsoft.com/en-us/library/bb737595.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb737595.aspx">http://msdn.microsoft.com/en-us/library/bb737595.aspx</a>
          </font>
          <font size="2">
          </font>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=858eac50-435f-46aa-b9de-bb23c663915e" />
      </body>
      <title>Using RemoteWipe</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,858eac50-435f-46aa-b9de-bb23c663915e.aspx</guid>
      <link>http://peterfoot.net/UsingRemoteWipe.aspx</link>
      <pubDate>Fri, 20 Jun 2008 10:17:14 GMT</pubDate>
      <description>&lt;p mce_keep="true"&gt;
With Windows Mobile 5.0 AKU2.0 (Messaging &amp;amp; Security Feature Pack) a new feature
was implemented called RemoteWipe. This allowed an administrator to remotely wipe
a device if it may have got lost and was designed to remove all sensitive data from
the device and return it to a fresh state. It was only with Windows Mobile 6 that
the details of the implementation were added to the SDK documentation. Like most other
administration and device management features RemoteWipe is implemented as a Configuration
Service Provider, this allows it to be activated either via remote or local means.
For example you could build a mechanism into your software where you wish to wipe
the device, perhaps after an extended number of failed password entries etc. Whether
you can call the CSP will depend on the particular security policy on the device,
however if possible you can initiate a wipe locally with either DMProcessConfigXML
or the managed ConfigurationManager e.g.
&lt;/p&gt;
&lt;font size=2&gt;System.Xml.&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;XmlDocument&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; cd
= &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; System.Xml.&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;XmlDocument&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;();&lt;/font&gt;&gt;&lt;font size=2&gt; cd.LoadXml(&lt;/font&gt;&lt;font color=#a31515 size=2&gt;&lt;font color=#a31515 size=2&gt;"&amp;lt;wap-provisioningdoc&amp;gt;&amp;lt;characteristic
type=\"RemoteWipe\"&amp;gt;&amp;lt;parm name=\"doWipe\" value=\"1\"/&amp;gt;&amp;lt;/characteristic&amp;gt;&amp;lt;/wap-provisioningdoc&amp;gt;"&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;);&lt;/font&gt;&gt;&lt;font size=2&gt; 
&lt;p&gt;
System.Xml.
&lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;XmlDocument&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt; xd
= &lt;/font&gt;&lt;font color=#2b91af size=2&gt;&lt;font color=#2b91af size=2&gt;ConfigurationManager&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;.ProcessConfiguration(cd, &lt;/font&gt;&lt;font color=#0000ff size=2&gt;&lt;font color=#0000ff size=2&gt;true&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;);&lt;/font&gt;&gt;
&lt;p&gt;
&lt;font size=2&gt;Of course you use this code snippet at your own risk, if it works successfully
it will wipe data from your device and return to factory fresh condition!&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2&gt;More details about the service provider here:-&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font size=2&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb737595.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb737595.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb737595.aspx&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=858eac50-435f-46aa-b9de-bb23c663915e" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=45bee005-a623-4a56-acff-a90adeb57a3a</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,45bee005-a623-4a56-acff-a90adeb57a3a.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
There may be an occasion where you want to restore the original chronological view
for the SMS Inbox rather than the new threaded view. One example is where a system
programmatically moves or inserts SMS messages into the system because these are not
visible in the threaded view (even though the count of unread messages increases).
There is a simple registry fix to turn off threading and restore the "classic" view.
From the registry editor of your choice browse the device registry for the key:
</p>
        <p>
[HKEY_CURRENT_USER\Software\Microsoft\Inbox\Settings]
</p>
        <p>
Under this add a new DWORD value called "SMSInboxThreadingDisabled" and set it to
1. Close the tmail.exe application or soft-reset the device and the regular message
view will be used. Set this registry value back to 0 or delete it to restore the default
threaded view.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=45bee005-a623-4a56-acff-a90adeb57a3a" />
      </body>
      <title>Disable Windows Mobile 6.1 Threaded SMS View</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,45bee005-a623-4a56-acff-a90adeb57a3a.aspx</guid>
      <link>http://peterfoot.net/DisableWindowsMobile61ThreadedSMSView.aspx</link>
      <pubDate>Tue, 08 Apr 2008 11:05:04 GMT</pubDate>
      <description>&lt;p&gt;
There may be an occasion where you want to restore the original chronological view
for the SMS Inbox rather than the new threaded view. One example is where a system
programmatically moves or inserts SMS messages into the system because these are not
visible in the threaded view (even though the count of unread messages increases).
There is a simple registry fix to turn off threading and restore the "classic" view.
From the registry editor of your choice browse the device registry for the key:
&lt;/p&gt;
&lt;p&gt;
[HKEY_CURRENT_USER\Software\Microsoft\Inbox\Settings]
&lt;/p&gt;
&lt;p&gt;
Under this add a new DWORD value called "SMSInboxThreadingDisabled" and set it to
1. Close the tmail.exe application or soft-reset the device and the regular message
view will be used. Set this registry value back to 0 or delete it to restore the default
threaded view.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=45bee005-a623-4a56-acff-a90adeb57a3a" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=f5519ed3-af56-40a3-8594-a165c11834c0</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,f5519ed3-af56-40a3-8594-a165c11834c0.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The release of Windows Mobile 6.1 brings a number of improvements for users but retains
the same SDK and libraries as 6. The devices ship with .NETCF 2.0 SP2 in ROM. 
</p>
        <p>
This release adds additional screen resolutions to both the Professional (touchscreen)
and Standard (non-touchscreen) editions. For Standard edition these are all 131 dpi
and consist of 320x320 square and 400x240 and 440x240 landscape. For Professional
there are 240x400 and 480x800 portrait screens. Once again these additional screen
sizes emphasize the importance of making sure your app dynamically adjusts to make
best use of screen space, for example using the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=428E4C3D-64AD-4A3D-85D2-E711ABC87F04&amp;displaylang=en">Windows
Mobile Line of Business Accelerator 2008</a>.
</p>
        <p>
 
</p>
        <p>
          <img src="http://168.144.208.216/content/binary/6.1.440x240.jpg" border="0" />
        </p>
        <p>
The images (currently US English only although localised versions should follow) are
available to download here:-
</p>
        <p>
          <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3D6F581E-C093-4B15-AB0C-A2CE5BFFDB47&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=3D6F581E-C093-4B15-AB0C-A2CE5BFFDB47&amp;displaylang=en</a>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=f5519ed3-af56-40a3-8594-a165c11834c0" />
      </body>
      <title>New Windows Mobile 6.1 Screen Resolutions</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,f5519ed3-af56-40a3-8594-a165c11834c0.aspx</guid>
      <link>http://peterfoot.net/NewWindowsMobile61ScreenResolutions.aspx</link>
      <pubDate>Wed, 02 Apr 2008 10:41:58 GMT</pubDate>
      <description>&lt;p&gt;
The release of Windows Mobile 6.1 brings a number of improvements for users but retains
the same SDK and libraries as 6. The devices ship with .NETCF 2.0 SP2 in ROM.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
This release adds additional screen resolutions to both the Professional (touchscreen)
and Standard (non-touchscreen) editions. For Standard edition these are all 131 dpi
and consist of 320x320 square and 400x240 and 440x240 landscape. For Professional
there are 240x400 and 480x800 portrait screens. Once again these additional screen
sizes emphasize the importance of making sure your app dynamically adjusts to make
best use of screen space, for example using the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=428E4C3D-64AD-4A3D-85D2-E711ABC87F04&amp;amp;displaylang=en"&gt;Windows
Mobile Line of Business Accelerator 2008&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://168.144.208.216/content/binary/6.1.440x240.jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
The images (currently US English only although localised versions should follow) are
available to download here:-
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3D6F581E-C093-4B15-AB0C-A2CE5BFFDB47&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=3D6F581E-C093-4B15-AB0C-A2CE5BFFDB47&amp;amp;displaylang=en&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=f5519ed3-af56-40a3-8594-a165c11834c0" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=a27e0377-c4d7-41bb-af39-46c23135c6a2</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,a27e0377-c4d7-41bb-af39-46c23135c6a2.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
One of the new features in v3.5 of the Compact Framework is the ability to easily
detect the platform you are running on from Smartphone (Standard Edition), PocketPC
(Classic or Professional Editions) or WinCEGeneric (Everything else). The code is
very straight-forward:-
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> Microsoft.WindowsCE.Forms;<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span>(SystemSettings.Platform
== WinCEPlatform.Smartphone)<br />
{<br /><span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">   //do
something smartphone specific...</span><br />
}</span>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <br />
 
</span>
        </p>
        <p>
In the latest (v3.0) version of <a href="http://inthehand.com/content/Mobile.aspx">Mobile
In The Hand</a> I've implemented a matching property, so for the above code sample
you'd just change the using statement to use InTheHand.WindowsCE.Forms and the code
would work the same way. This is available in both the .NETCF v1.0 and v2.0 builds
of the library.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a27e0377-c4d7-41bb-af39-46c23135c6a2" />
      </body>
      <title>Determine Platform - .NETCF 3.5 and earlier</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,a27e0377-c4d7-41bb-af39-46c23135c6a2.aspx</guid>
      <link>http://peterfoot.net/DeterminePlatformNETCF35AndEarlier.aspx</link>
      <pubDate>Fri, 23 Nov 2007 11:58:38 GMT</pubDate>
      <description>&lt;p&gt;
One of the new features in v3.5 of the Compact Framework is the ability to easily
detect the platform you are running on from Smartphone (Standard Edition), PocketPC
(Classic or Professional Editions) or WinCEGeneric (Everything else). The code is
very straight-forward:-
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; Microsoft.WindowsCE.Forms;&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt;(SystemSettings.Platform
== WinCEPlatform.Smartphone)&lt;br&gt;
{&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//do
something smartphone specific...&lt;/span&gt;
&lt;br&gt;
}&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
&lt;br&gt;
&amp;nbsp;
&lt;/p&gt;
&gt; 
&lt;p&gt;
In the latest (v3.0) version of &lt;a href="http://inthehand.com/content/Mobile.aspx"&gt;Mobile
In The Hand&lt;/a&gt; I've implemented a matching property, so for the above code sample
you'd just change the using statement to use InTheHand.WindowsCE.Forms and the code
would work the same way. This is available in both the .NETCF v1.0 and v2.0 builds
of the library.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=a27e0377-c4d7-41bb-af39-46c23135c6a2" /&gt;</description>
      <category>NETCF</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=8dbaa100-1679-4fe4-b3ac-206fdcf68bb4</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,8dbaa100-1679-4fe4-b3ac-206fdcf68bb4.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A number of customers have been reporting issues with SMS interception on the T-Mobile
Dash handset. On these devices the SMS interception does not work through either the
Microsoft or In The Hand class libraries. This is specific to the T-Mobile ROM as
other branded versions of the same device, such as the HTC S620, do not have
the problem. The culprit is a badly behaved IMessageFilter implementation which
stops the standard interceptor from working. You can fix this issue by removing the
entry from the registry. Take a look at this registry key:-
</p>
        <p>
          <font face="Courier New">HKEY_LOCAL_MACHINE\Software\Microsoft/Software/Inbox/Svc/Sms/Rules</font>
        </p>
        <p>
In here you'll find 2 entries by default on Windows Mobile 5.0:-
</p>
        <p>
          <font face="Courier New">{1000BC1C-F4A3-4210-B197-4AEBF2CEE6F5}</font>
        </p>
        <p>
          <font face="Courier New">{77990A0E-60B8-4103-B9AF-17157E4274FD}</font>
        </p>
        <p>
If you find additional entries here try deleting them (make a backup first so that
you can restore if necessary) then reset the phone. This should allow the normal SMS
interception mechanism to work again.
</p>
        <p>
On Windows Mobile 6 the above registry key is not present by default, therefore the
standard SMS interception will work without any additional rules registered.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=8dbaa100-1679-4fe4-b3ac-206fdcf68bb4" />
      </body>
      <title>Fix: SMS Interception on T-Mobile Dash</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,8dbaa100-1679-4fe4-b3ac-206fdcf68bb4.aspx</guid>
      <link>http://peterfoot.net/FixSMSInterceptionOnTMobileDash.aspx</link>
      <pubDate>Tue, 02 Oct 2007 10:15:12 GMT</pubDate>
      <description>&lt;p&gt;
A number of customers have been reporting issues with SMS interception on the T-Mobile
Dash handset. On these devices the SMS interception does not work through either the
Microsoft or In The Hand class libraries. This is specific to the T-Mobile ROM as
other branded versions of the same device, such as the HTC S620,&amp;nbsp;do not have
the problem. The&amp;nbsp;culprit is a badly behaved IMessageFilter implementation which
stops the standard interceptor from working. You can fix this issue by removing the
entry from the registry. Take a look at this registry key:-
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;HKEY_LOCAL_MACHINE\Software\Microsoft/Software/Inbox/Svc/Sms/Rules&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
In here you'll find 2 entries by default on Windows Mobile 5.0:-
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;{1000BC1C-F4A3-4210-B197-4AEBF2CEE6F5}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;{77990A0E-60B8-4103-B9AF-17157E4274FD}&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
If you find additional entries here try deleting them (make a backup first so that
you can restore if necessary) then reset the phone. This should allow the normal SMS
interception mechanism to work again.
&lt;/p&gt;
&lt;p&gt;
On Windows Mobile 6 the above registry key is not present by default, therefore the
standard SMS interception will work without any additional rules registered.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=8dbaa100-1679-4fe4-b3ac-206fdcf68bb4" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=c0874411-0a4f-4d92-8ebd-6c3cbd0d5ec0</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,c0874411-0a4f-4d92-8ebd-6c3cbd0d5ec0.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Late last week HTC quietly released the Windows Mobile 6 upgrade for the S620. A few <a href="http://blogs.msdn.com/jasonlan/archive/2007/08/31/htc-release-windows-mobile-6-upgrade-for-the-s620-excalibur-quietly.aspx">eagle
eyed bloggers</a> posted about it. The first thing I found was that the upgrade process
doesn't work with Windows Vista, when it reboots the device into bootloader mode the
computer fails to connect. I had to run the upgrade from a Windows XP machine (where
it worked flawlessy). Upon rebooting I had a fresh clean Windows Mobile 6 device.
I noticed that HTC had left the default "Mobile Operator" screen during boot up, only
after running its initial setup was this removed. Everything was working great, I
was able to setup my exchange server in ActiveSync and get all my PIM data back onto
the device. The lock dialog is slightly altered in this release, rather than tapping
the right softkey to cancel you have to tap the right soft-key to open the menu and
select the second option (option 1 is "Reset Password" but is disabled). The reason
I often cancel this screen is because I just want to check the home screen for the
time / next appointment. The time can optionally be displayed on the unlock screen
but only for the key lock, I no longer use that because my exchange provider enforces
a password.
</p>
        <p>
There are a few fancy UI features, the improvements to the calendar day screen are
welcome along with the ability to edit task items. Essentially there are few differences
to Windows Mobile 5.0 in the look and feel and layout of start menu and applications.
One interesting change is that the alarm can now be set to operate only on weekdays,
or every day. It's still not as flexible as other approaches, and the default sound
applied to the alarm is rather alarming to say the least!
</p>
        <p>
With my initial success I then tried docking the device with my main Vista machine.
On this machine I'm running the latest Windows Mobile Device Center 6.1. When I connected
the S620 popped up a message telling me to upgrade to ActiveSync 4.5 or later on my
PC. Fellow MVP <a href="http://www.modernnomads.info">Jaap van Ekris</a> was able
to point out a simple workaround. Just go to Start &gt; Settings &gt; Connections
&gt; USB to PC and uncheck "Enable advanced network functionality". It now partners
correctly with my Vista machine.
</p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=c0874411-0a4f-4d92-8ebd-6c3cbd0d5ec0" />
      </body>
      <title>HTC S620 Windows Mobile 6 Upgrade Experience</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,c0874411-0a4f-4d92-8ebd-6c3cbd0d5ec0.aspx</guid>
      <link>http://peterfoot.net/HTCS620WindowsMobile6UpgradeExperience.aspx</link>
      <pubDate>Mon, 03 Sep 2007 12:14:03 GMT</pubDate>
      <description>&lt;p&gt;
Late last week HTC quietly released the Windows Mobile 6 upgrade for the S620. A few &lt;a href="http://blogs.msdn.com/jasonlan/archive/2007/08/31/htc-release-windows-mobile-6-upgrade-for-the-s620-excalibur-quietly.aspx"&gt;eagle
eyed bloggers&lt;/a&gt; posted about it. The first thing I found was that the upgrade process
doesn't work with Windows Vista, when it reboots the device into bootloader mode the
computer fails to connect. I had to run the upgrade from a Windows XP machine (where
it worked flawlessy). Upon rebooting I had a fresh clean Windows Mobile 6 device.
I noticed that HTC had left the default "Mobile Operator" screen during boot up, only
after running its initial setup was this removed. Everything was working great, I
was able to setup my exchange server in ActiveSync and get all my PIM data back onto
the device. The lock dialog is slightly altered in this release, rather than tapping
the right softkey to cancel you have to tap the right soft-key to open the menu and
select the second option (option 1 is "Reset Password" but is disabled). The reason
I often cancel this screen is because I just want to check the home screen for the
time / next appointment. The time can optionally be displayed on the unlock screen
but only for the key lock, I no longer use that because my exchange provider enforces
a password.
&lt;/p&gt;
&lt;p&gt;
There are a few fancy UI features, the improvements to the calendar day screen are
welcome along with the ability to edit task items. Essentially there are few differences
to Windows Mobile 5.0 in the look and feel and layout of start menu and applications.
One interesting change is that the alarm can now be set to operate only on weekdays,
or every day. It's still not as flexible as other approaches, and the default sound
applied to the alarm is rather alarming to say the least!
&lt;/p&gt;
&lt;p&gt;
With my initial success I then tried docking the device with my main Vista machine.
On this machine I'm running the latest Windows Mobile Device Center 6.1. When I connected
the S620 popped up a message telling me to upgrade to ActiveSync 4.5 or later on my
PC. Fellow MVP &lt;a href="http://www.modernnomads.info"&gt;Jaap van Ekris&lt;/a&gt; was able
to point out a simple workaround. Just go to Start &amp;gt; Settings &amp;gt; Connections
&amp;gt; USB to PC and uncheck "Enable advanced network functionality". It now partners
correctly with my Vista machine.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=c0874411-0a4f-4d92-8ebd-6c3cbd0d5ec0" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://peterfoot.net/Trackback.aspx?guid=c6307ccf-18fb-453c-a3e9-14b4626cae51</trackback:ping>
      <pingback:server>http://peterfoot.net/pingback.aspx</pingback:server>
      <pingback:target>http://peterfoot.net/PermaLink,guid,c6307ccf-18fb-453c-a3e9-14b4626cae51.aspx</pingback:target>
      <dc:creator>
      </dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Among the Configuration providers in Windows Mobile is one which allows you to programmatically
uninstall package from the device. The UnInstall provider is documented here:-
</p>
        <p>
          <a href="http://msdn2.microsoft.com/en-us/library/aa455977.aspx">http://msdn2.microsoft.com/en-us/library/aa455977.aspx</a>
        </p>
        <p>
To see if your package can be uninstalled you send the following XML - e.g. using
DMProcessConfig.XML or <a href="http://inthehand.com/library/html/M_InTheHand_WindowsMobile_Configuration_ConfigurationManager_ProcessConfiguration.htm">ProcessConfiguration</a> in
managed code.
</p>
        <p>
          <font face="Courier New">&lt;wap-provisioningdoc&gt;<br />
   &lt;characteristic type="UnInstall"&gt;<br />
      &lt;characteristic-query type="YourAppName"/&gt;<br />
   &lt;/characteristic&gt;<br />
&lt;/wap-provisioningdoc&gt;</font>
        </p>
        <p>
Replacing YourAppName with the name of your installation package usually "CompanyName
Product" as defined in your device CAB project. The response will look something like
this if the package name is found:-
</p>
        <pre class="code" id="ctl00_LibFrame_ctl03" space="preserve">&lt;wap-provisioningdoc&gt;
   &lt;characteristic type="UnInstall"&gt;
      &lt;characteristic type="YourAppName"&gt;
         &lt;parm name="uninstall" value="0"/&gt;
      &lt;/characteristic&gt;
   &lt;/characteristic&gt;
&lt;/wap-provisioningdoc&gt;</pre>
        <p>
Then you can uninstall the package using:-
</p>
        <p>
          <font face="Courier New">&lt;wap-provisioningdoc&gt; 
<br />
   &lt;characteristic type="UnInstall"&gt; 
<br />
      &lt;characteristic type="YourAppName"&gt; 
<br />
         &lt;parm name="uninstall" value="1"/&gt;    
<br />
      &lt;/characteristic&gt; 
<br />
   &lt;/characteristic&gt; 
<br />
&lt;/wap-provisioningdoc&gt;</font>
        </p>
        <img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=c6307ccf-18fb-453c-a3e9-14b4626cae51" />
      </body>
      <title>Using the UnInstall Configuration Service Provider</title>
      <guid isPermaLink="false">http://peterfoot.net/PermaLink,guid,c6307ccf-18fb-453c-a3e9-14b4626cae51.aspx</guid>
      <link>http://peterfoot.net/UsingTheUnInstallConfigurationServiceProvider.aspx</link>
      <pubDate>Tue, 14 Aug 2007 14:23:52 GMT</pubDate>
      <description>&lt;p&gt;
Among the Configuration providers in Windows Mobile is one which allows you to programmatically
uninstall package from the device. The UnInstall provider is documented here:-
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://msdn2.microsoft.com/en-us/library/aa455977.aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa455977.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
To see if your package can be uninstalled you send the following XML - e.g. using
DMProcessConfig.XML or &lt;a href="http://inthehand.com/library/html/M_InTheHand_WindowsMobile_Configuration_ConfigurationManager_ProcessConfiguration.htm"&gt;ProcessConfiguration&lt;/a&gt; in
managed code.
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;wap-provisioningdoc&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;characteristic type="UnInstall"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;characteristic-query type="YourAppName"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/characteristic&amp;gt;&lt;br&gt;
&amp;lt;/wap-provisioningdoc&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Replacing YourAppName with the name of your installation package usually "CompanyName
Product" as defined in your device CAB project. The response will look something like
this if the package name is found:-
&lt;/p&gt;
&lt;pre class=code id=ctl00_LibFrame_ctl03 space="preserve"&gt;&amp;lt;wap-provisioningdoc&amp;gt;
   &amp;lt;characteristic type="UnInstall"&amp;gt;
      &amp;lt;characteristic type="YourAppName"&amp;gt;
         &amp;lt;parm name="uninstall" value="0"/&amp;gt;
      &amp;lt;/characteristic&amp;gt;
   &amp;lt;/characteristic&amp;gt;
&amp;lt;/wap-provisioningdoc&amp;gt;&lt;/pre&gt;
&lt;p&gt;
Then you can uninstall the package using:-
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Courier New"&gt;&amp;lt;wap-provisioningdoc&amp;gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;characteristic type="UnInstall"&amp;gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;characteristic type="YourAppName"&amp;gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;parm name="uninstall" value="1"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/characteristic&amp;gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/characteristic&amp;gt; 
&lt;br&gt;
&amp;lt;/wap-provisioningdoc&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://peterfoot.net/aggbug.ashx?id=c6307ccf-18fb-453c-a3e9-14b4626cae51" /&gt;</description>
      <category>Windows Mobile</category>
    </item>
  </channel>
</rss>