<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Mike Francis&amp;#39; Weblog</title><subtitle type="html" /><id>http://blogs.msdn.com/b/mikefrancis/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/mikefrancis/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2009-01-15T08:18:00Z</updated><entry><title>Windows Mobile: Problem with Message Interception failing</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/11/11/windows-mobile-problem-with-message-interception-failing.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/11/11/windows-mobile-problem-with-message-interception-failing.aspx</id><published>2009-11-11T20:05:50Z</published><updated>2009-11-11T20:05:50Z</updated><content type="html">&lt;p&gt;&lt;p&gt;I’ve had a couple of clients that ran into a problem where their SMS Message interceptor would fail to fire. (For an introduction to this pretty cool technology see &lt;a href="http://msdn.microsoft.com/en-us/library/bb932385.aspx"&gt;here&lt;/a&gt;.) This was a hard to track down problem, because the interceptor would work on some devices, and the emulator, but not on a handful of devices. Because this worked on several devices, it seemed the code was without errors.  &lt;span&gt;...&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;&lt;b&gt;Note:&lt;/b&gt; Cross posted from &lt;a href="http://blog.mjfnet.com/Blog/"&gt;Mike Francis: My Mobile Home&lt;/a&gt;.
&lt;br /&gt;&lt;a href="http://blog.mjfnet.com/Blog/2009/11/11/WindowsMobileProblemWithMessageInterceptionFailing.aspx"&gt;Permalink&lt;/a&gt;
&lt;br /&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9921018" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Windows Mobile 6.5 Start Screen PNG Icon Display problem</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/11/07/windows-mobile-6-5-start-screen-png-icon-display-problem.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/11/07/windows-mobile-6-5-start-screen-png-icon-display-problem.aspx</id><published>2009-11-07T18:42:57Z</published><updated>2009-11-07T18:42:57Z</updated><content type="html">&lt;p&gt;&lt;p&gt;Some developers are reporting a problem with the PNG icon not displaying in the Start screen.The usual symptom is that it does not show up immediately after installation but is seen after a device reset. This problem occurs if following the &lt;span&gt;...&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;&lt;b&gt;Note:&lt;/b&gt; Cross posted from &lt;a href="http://blog.mjfnet.com/Blog/"&gt;Mike Francis: My Mobile Home&lt;/a&gt;.
&lt;br /&gt;&lt;a href="http://blog.mjfnet.com/Blog/2009/11/06/WindowsMobile65StartScreenPNGIconDisplayProblem.aspx"&gt;Permalink&lt;/a&gt;
&lt;br /&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9919108" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Information about the Marketplace Client and Custom UI</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/11/01/information-about-the-marketplace-client-and-custom-ui.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/11/01/information-about-the-marketplace-client-and-custom-ui.aspx</id><published>2009-11-01T22:31:29Z</published><updated>2009-11-01T22:31:29Z</updated><content type="html">&lt;p&gt;I just posted on the Windows Mobile Developers team blog: &lt;a href="http://windowsteamblog.com/blogs/wmdev/archive/2009/10/29/the-windows-marketplace-for-mobile-client-and-your-setup-code.aspx#comments"&gt;The Windows Marketplace for Mobile Client and your Setup code&lt;/a&gt;. This article reviews some potential ‘gotchas’ if you include custom UI in your setup DLL that is being called by the Marketplace client. The message is, please don’t add custom UI. Why? Because it makes the install experience less uniform and streamlined. If you really, really must add you custom UI, the information in this post should be useful to you.&lt;/p&gt; &lt;p&gt;Enjoy,&lt;/p&gt; &lt;p&gt;Mike&lt;/p&gt;&lt;b&gt;Note:&lt;/b&gt; Cross posted from &lt;a href="http://blog.mjfnet.com/Blog/"&gt;Mike Francis: My Mobile Home&lt;/a&gt;.
&lt;br /&gt;&lt;a href="http://blog.mjfnet.com/Blog/2009/11/01/InformationAboutTheMarketplaceClientAndCustomUI.aspx"&gt;Permalink&lt;/a&gt;
&lt;br /&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915957" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>New Blog: http://blog.mjfnet.com</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/10/29/new-blog-http-blog-mjfnet-com.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/10/29/new-blog-http-blog-mjfnet-com.aspx</id><published>2009-10-30T00:31:44Z</published><updated>2009-10-30T00:31:44Z</updated><content type="html">&lt;p&gt;I’ve setup my own blog in order to have more control over the presentation and since I develop, wanted to try embracing and extending a .Net based blogging platform. &lt;/p&gt;  &lt;p&gt;I’ll continue to cross-post here.&lt;/p&gt;  &lt;p&gt;Check out my blog at &lt;a href="http://blog.mjfnet.com"&gt;http://blog.mjfnet.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thanks,&lt;/p&gt;  &lt;p&gt;Mike&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915042" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>How To: Creating Icons for Windows Mobile 6.5</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/07/25/how-to-creating-icons-for-windows-mobile-6-5.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/07/25/how-to-creating-icons-for-windows-mobile-6-5.aspx</id><published>2009-07-25T23:41:03Z</published><updated>2009-07-25T23:41:03Z</updated><content type="html">&lt;p&gt;Need to create PNG files for your Windows Mobile 6.5 applications? Check out my blog post on the main &lt;a href="http://windowsteamblog.com/blogs/windowsphone/default.aspx"&gt;Windows Mobile blog&lt;/a&gt; &lt;a href="http://windowsteamblog.com/blogs/windowsphone/archive/2009/07/24/creating-custom-icons-for-windows-mobile-6-5.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Mike&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9848608" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Windows Mobile 6.5 Web Browser Control: Enabling Selection support</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/07/21/windows-mobile-6-5-web-browser-control-enabling-selection-support.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/07/21/windows-mobile-6-5-web-browser-control-enabling-selection-support.aspx</id><published>2009-07-22T08:09:17Z</published><updated>2009-07-22T08:09:17Z</updated><content type="html">&lt;p&gt;In my previous post (&lt;a href="http://blog.mjfnet.com/Blog/2009/07/21/WindowsMobile65WebBrowserControlEnablingGestureSupport.aspx"&gt;Windows Mobile 6.5 Web Browser Control: Enabling Gesture support&lt;/a&gt;), I discussed how you can enable the built-in gesture support of the web browser control in Windows Mobile 6.5.&amp;nbsp; Basically you disable selection support when creating the control, and the gesture support is enabled. But what if you want to select within the control. It seems that selection and gestures are mutually exclusive. &lt;/p&gt; &lt;p&gt;Yes. You can’t select and use gestures at the same time. However you can switch into ‘selection mode’ when needed. The following video shows the how this is used in the Windows Mobile messaging application:&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; width: 425px; padding-right: 10px; display: inline; float: left; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:77e6abbf-749e-4abf-b888-00491f3ccfe8" class="wlWriterSmartContent"&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="12ccc3ce-9ed3-471a-b004-c3d85cf2177d"&gt; &lt;div&gt;&lt;embed height="355" type="application/x-shockwave-flash" width="425" src="http://www.youtube.com/v/a6BWZU0e1qU&amp;amp;hl=en"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;In this video, I use gestures (flick) to scroll down the email message to locate a block of text I want to copy.&lt;/p&gt; &lt;p&gt;To get into ‘selection mode’, I press Menu | Make Selection. I then select the block of text, tap and hold to bring up the context menu and press Copy.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;To add this functionality to your Web Browser control application, we will need access to the controls COM interface. Fortunately the ‘&lt;a href="http://msdn.microsoft.com/en-us/library/bb159830.aspx"&gt;HTML control&lt;/a&gt;’ provides access to this via the &lt;a href="http://msdn.microsoft.com/en-us/library/bb415471.aspx"&gt;DTM_BROWSERDISPATCH&lt;/a&gt; message. The following code demonstrates how to access the IBrowser3::put_SelectionEnabled method to enable / disable ‘selection mode’:&lt;/p&gt; &lt;div id="codeSnippetWrapper"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;HRESULT SetSelectionMode(HWND hWndHtml, BOOL bSelect)&lt;br&gt;{&lt;br&gt;    LPDISPATCH pDisp=NULL;&lt;br&gt;    &lt;span style="color: #008000"&gt;// Get the dispatch interface&lt;/span&gt;&lt;br&gt;    SendMessage(hWndHtml, DTM_BROWSERDISPATCH , 0, (LPARAM) &amp;amp;pDisp);&lt;br&gt;    &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (pDisp==NULL)&lt;br&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; -1;&lt;br&gt;    &lt;span style="color: #008000"&gt;// The put_SelectionEnabled method is included in the IBrowser3 interface&lt;/span&gt;&lt;br&gt;    IBrowser3 * pBrowser3;&lt;br&gt;    HRESULT hRes = pDisp-&amp;gt;QueryInterface(IID_IBrowser3, (LPVOID*)&amp;amp;pBrowser3);&lt;br&gt;    hRes = pBrowser3-&amp;gt;put_SelectionEnabled(bSelect ? VARIANT_TRUE: VARIANT_FALSE );&lt;br&gt;    pBrowser3-&amp;gt;Release();&lt;br&gt;&lt;span style="color: #0000ff"&gt;return&lt;/span&gt; hRes;&lt;br&gt;}&lt;/pre&gt;&lt;br&gt;&lt;/div&gt;
&lt;p&gt;So where does the IBrowser3 interface come from? This was supported in an earlier version of the browser, but has since been deprecated. However, the control is still using this interface. The interface definition is located in &lt;/p&gt;
&lt;p&gt;&lt;font face="Courier New"&gt;C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\PocketPC2003\Include\webvw.h&lt;/font&gt; 
&lt;p&gt;I copied this over to my project directory and renamed it: webwv2.h 
&lt;p&gt;You can download the BrowserWithGestures sample code project (VS2008) &lt;a href="http://cid-e91b74403814953e.skydrive.live.com/self.aspx/BrowserWithGestures/BrowserWithGestures.zip"&gt;here&lt;/a&gt;. 
&lt;p&gt;Note that the information above is not documented by Microsoft and is therefore not supported. (i.e. if you call Microsoft Developer Support you may be turned away since only documented / published APIs are supported.)&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:0767317B-992E-4b12-91E0-4F059A8CECA8:9b2ddb30-26b4-42a7-9b22-2f5187bd78eb" class="wlWriterSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/gestures" rel="tag"&gt;gestures&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/windowsmobile" rel="tag"&gt;windowsmobile&lt;/a&gt;, &lt;a href="http://del.icio.us/popular/6.5" rel="tag"&gt;6.5&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9844393" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Windows Mobile 6.5 Web Browser Control: Enabling Gesture support</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/07/21/windows-mobile-6-5-web-browser-control-enabling-gesture-support.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/07/21/windows-mobile-6-5-web-browser-control-enabling-gesture-support.aspx</id><published>2009-07-22T08:08:26Z</published><updated>2009-07-22T08:08:26Z</updated><content type="html">&lt;p&gt;One of the most powerful controls in the Windows Mobile developer toolbox is the Web Browser control. With this control, you can create applications as simple as displaying HTML, to more complex apps that interact with the DOM manipulating elements, and fining / responding to events.&lt;/p&gt; &lt;p&gt;The introduction of touch and gesture support in Windows Mobile 6.5 has greatly improved the user experience. You can now intuitively flick and pan with your finger in most of the Microsoft applications and your own! Adding gesture support to your application is not trivial. See the &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e"&gt;Windows Mobile 6.5 Developer Tool Kit&lt;/a&gt; (DTK) for more information.&amp;nbsp; Fortunately Microsoft has included gesture support in the Web Browser control for 6.5&lt;/p&gt; &lt;p&gt;There are actually two web browsers in Windows Mobile 6.5. One that is used by Internet Explorer Mobile and another that is used by applications hosting the Web Browser control. This post will focus on the later. &lt;/p&gt; &lt;p&gt;There are two ways to instantiate the web browser control. The first method uses a COM interface to create the control. (See the &lt;a href="http://msdn.microsoft.com/en-us/library/ms881532.aspx"&gt;miniPie&lt;/a&gt; SDK sample.) The second method hosts the control as a child of a &lt;a href="http://msdn.microsoft.com/en-us/library/ms854252.aspx"&gt;DISPLAYCLASS&lt;/a&gt; window (The docs refer to this as the ‘&lt;a href="http://msdn.microsoft.com/en-us/library/bb159830.aspx"&gt;HTML control&lt;/a&gt;’). In order to create this control with gesture support, you create it with the &lt;a href="http://msdn.microsoft.com/en-us/library/ms854252.aspx"&gt;HS_NOSELECTION&lt;/a&gt; flag. For example:&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt; &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;hWndHtml = CreateWindow(TEXT(&lt;span style="color: #006080"&gt;"DISPLAYCLASS"&lt;/span&gt;), NULL,&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        WS_VISIBLE | HS_NOSELECTION,0 , 0, GetSystemMetrics(SM_CXSCREEN),&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        GetSystemMetrics(SM_CYSCREEN), hWnd, NULL, g_hInst, NULL);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;You can see this for yourself:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the &lt;a href="http://msdn.microsoft.com/en-us/library/aa455117.aspx"&gt;Browse SDK sample&lt;/a&gt; 
&lt;li&gt;Add the HS_NOSELECTION flag (as shown above) to the DISPLAYCLASS CreateWindow call 
&lt;li&gt;Build and Run&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;In the video below, I changed the sample to load an HTML file that contained more than a screen full of data in order to force scrolling so that you can see the navigation via gestures (Flick and Pan):&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:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:b9f3760a-ccea-4907-94f3-a446debf9601" class="wlWriterSmartContent"&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="766ea540-5e0a-4d01-8135-4e0dd9bf2cfb"&gt;
&lt;div&gt;&lt;embed height="355" type="application/x-shockwave-flash" width="425" src="http://www.youtube.com/v/bzzdxRFXP3M&amp;amp;hl=en"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Additional Resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="http://blogs.msdn.com/marcpe/archive/2009/06/29/let-s-talk-about-touch-part1.aspx" href="http://blogs.msdn.com/marcpe/archive/2009/06/29/let-s-talk-about-touch-part1.aspx"&gt;Let’s Talk About Touch (Part1)&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee220920.aspx"&gt;Using Gestures in Windows Mobile 6.5&lt;/a&gt; 
&lt;li&gt;&lt;a href="http://developers.windowsmobile.com"&gt;Windows Mobile Developers site&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Note that the information above is not documented by Microsoft and is therefore not supported. &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:0767317B-992E-4b12-91E0-4F059A8CECA8:dfe94aec-555b-474f-b92c-914d7aefa1d2" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/gestures" rel="tag"&gt;gestures&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/windowsmobile" rel="tag"&gt;windowsmobile&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/6.5" rel="tag"&gt;6.5&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9844389" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Capture all Windows Mobile device keys using the AllKeys API</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/03/28/porting-gapi-keys-to-wm-6-1-and-6-5.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/03/28/porting-gapi-keys-to-wm-6-1-and-6-5.aspx</id><published>2009-03-28T21:49:15Z</published><updated>2009-03-28T21:49:15Z</updated><content type="html">&lt;p&gt;Norm Sohl points out in his post on the Windows Mobile Team blog that Microsoft is taking further steps to deprecate the GAPI APIs. Check it out &lt;a href="http://blogs.msdn.com/windowsmobile/archive/2009/05/06/just-say-no-to-gapi-what-you-need-to-know-about-allkeys-and-input-management.aspx"&gt;here&lt;/a&gt;. Norm’s post includes a native code sample. Some folks have asked if AllKeys() can be used from managed code. The answer is yes. Here is the C# P/Invoke signature:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;[DllImport(&lt;span class="str"&gt;&amp;quot;coredll.dll&amp;quot;&lt;/span&gt;, SetLastError = &lt;span class="kwrd"&gt;true&lt;/span&gt;)]
&lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;extern&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; AllKeys(&lt;span class="kwrd"&gt;bool&lt;/span&gt; bAllKeys);&lt;/pre&gt;

&lt;p&gt;Mike&lt;/p&gt;

&lt;p&gt;P.S. If you need to capture a specific key, see &lt;a href="http://msdn.microsoft.com/en-us/library/aa922958.aspx"&gt;RegisterHotKey().&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9516228" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Top Developer Tips for Windows Mobile Webcast Follow Up – Q&amp;A</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/01/23/top-developer-tips-for-windows-mobile-webcast-follow-up-q-a.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/01/23/top-developer-tips-for-windows-mobile-webcast-follow-up-q-a.aspx</id><published>2009-01-24T03:09:00Z</published><updated>2009-01-24T03:09:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US" mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US"&gt;&lt;IMG style="WIDTH: 55px; HEIGHT: 55px" class=medium title="MSDN Webcast" border=0 alt="MSDN Webcast" src="http://www.microsoft.com/events/images/highlights/icon_webcast_lrg.jpg" width=55 height=55 mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US" mce_src="http://www.microsoft.com/events/images/highlights/icon_webcast_lrg.jpg" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US"&gt;&lt;/A&gt;Here a list of the questions and answers asked during Wednesday’s Webcast: &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;WILLIAM Asked:: In the real world there seems to be a much larger presence of iPhone and Blackberry touch screen mobile devices than Windows mobile touch screen devices. What are some suggestions for developing web applications that cover these devices that have the majority of the market as well as the Windows mobile devices? &lt;BR&gt;&lt;/EM&gt;Answer: Yes a good strategy is to develop for Standard (non-touch) since these apps will work equally well on touch devices – the reverse is not true.&amp;nbsp; Remember that non-touch devices are optimized for one-handed operation.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Hilary P Asked: Where are your DLLs? All I see is the text file ... are you writing/highlighting somewhere? &lt;BR&gt;&lt;/EM&gt;Answer: Open the &lt;A href="http://cid-e91b74403814953e.skydrive.live.com/self.aspx/Dumpmem/dumpmem.txt"&gt;dumpmem.txt&lt;/A&gt; file. Search for the following line: &lt;BR&gt;&lt;FONT size=5 face="Cordia New"&gt;1819F000&amp;nbsp; 1141000 F NA &lt;BR&gt;&lt;FONT size=2 face=Tahoma&gt;This is the largest free memory block and the bottom of the RAM DLL load area and the top of the program stack, resources, and heaps area. The DLLs are just below this line. The ‘Image’ lines belong to the DLLs.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;D.P. Asked: understand the need for signing the apps... but can still distribute unsigned apps if they do not need signing... right?&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Answer: Yes this is a strength if the Windows Mobile platform in that you can distribute your applications however you see fit.&amp;nbsp; However, you run the risk of your application not being able to be installed, if the mobile operator has configured the device to disallow unsigned applications from installing or running. Additionally you will run into the problems (mentioned in the webcast) of having the user to respond to prompts during installation, or mysterious failures during silent (Enterprise) installs. Most application resellers require that you have your application signed (&lt;A href="http://www.handango.com/"&gt;Handango&lt;/A&gt;, &lt;A href="http://www.motricity.com/"&gt;Motricity&lt;/A&gt;) before they will carry it.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;D.P. Asked: Are there any free (not vendor locked) APIs for putting code in ROM?&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Answer: Only OEMs, not ISVs, can change the device ROM. Technically when you install an application is it stored in flash (ROM) memory.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;EDUARDO Asked: nice all&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Answer: Thanks!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9373382" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry><entry><title>Top Developer Tips Webcast Follow Up</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/mikefrancis/archive/2009/01/15/top-developer-tips-webcast-follow-up.aspx" /><id>http://blogs.msdn.com/b/mikefrancis/archive/2009/01/15/top-developer-tips-webcast-follow-up.aspx</id><published>2009-01-15T18:18:00Z</published><updated>2009-01-15T18:18:00Z</updated><content type="html">&lt;TABLE border=0 cellSpacing=0 cellPadding=2 width=581&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=59&gt;&lt;A href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US" mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US"&gt;&lt;IMG style="WIDTH: 55px; HEIGHT: 55px" class=medium title="MSDN Webcast" border=0 alt="MSDN Webcast" src="http://www.microsoft.com/events/images/highlights/icon_webcast_lrg.jpg" width=55 height=55 mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US" mce_src="http://www.microsoft.com/events/images/highlights/icon_webcast_lrg.jpg" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US"&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD width=520&gt;Thanks for attending my MSDN Webcast today &lt;A href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US" mce_href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&amp;amp;EventID=1032400472&amp;amp;CountryCode=US"&gt;“Top Developer Tips for Windows Mobile”&lt;/A&gt;. As promised, here are a list of links mentioned in the talk: &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;Web Applications: &lt;/P&gt;
&lt;P&gt;Download: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1A7A6B52-F89E-4354-84CE-5D19C204498A&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1A7A6B52-F89E-4354-84CE-5D19C204498A&amp;amp;displaylang=en"&gt;Windows Mobile 6.1.4 Emulator Images&lt;/A&gt; (Includes Internet Explorer Mobile 6!) &lt;BR&gt;Jim Wilson’s Blog: &lt;A title="Wading through the challenges of ASP.NET AJAX and Windows Mobile" href="http://www.pluralsight.com/community/blogs/jimw/archive/2007/09/18/48499.aspx" mce_href="http://www.pluralsight.com/community/blogs/jimw/archive/2007/09/18/48499.aspx"&gt;Wading through the challenges of ASP.NET AJAX and Windows Mobile&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Smart Client Applications: &lt;BR&gt;Virtual Memory: &lt;BR&gt;Download: &lt;A href="http://support.microsoft.com/kb/326164" mce_href="http://support.microsoft.com/kb/326164"&gt;Dumpmem&lt;/A&gt; &lt;BR&gt;Steve and Reed’s Blog: &lt;A href="http://blogs.msdn.com/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx" mce_href="http://blogs.msdn.com/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx"&gt;Slaying the Virtual Memory Monster&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/hegenderfer/archive/2007/10/01/slaying-the-virtual-memory-monster-part-ii.aspx" mce_href="http://blogs.msdn.com/hegenderfer/archive/2007/10/01/slaying-the-virtual-memory-monster-part-ii.aspx"&gt;Slaying the Virtual Memory Monster - Part II&lt;/A&gt; &lt;BR&gt;Download: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C8174C14-A27D-4148-BF01-86C2E0953EAB&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C8174C14-A27D-4148-BF01-86C2E0953EAB&amp;amp;displaylang=en"&gt;Remote Performance Monitor&lt;/A&gt; &lt;BR&gt;Download: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d275348a-d937-4d88-ae25-28702c78748d&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=d275348a-d937-4d88-ae25-28702c78748d&amp;amp;displaylang=en"&gt;Application Verifier&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Adapt Your App: &lt;BR&gt;MSDN: &lt;A title=http://msdn.microsoft.com/en-us/windowsmobile/bb264320.aspx href="http://msdn.microsoft.com/en-us/windowsmobile/bb264320.aspx" mce_href="http://msdn.microsoft.com/en-us/windowsmobile/bb264320.aspx"&gt;Adapt Your App&lt;/A&gt; &lt;BR&gt;Automation Script for loading application into emulators: &lt;A title="PowerShell and Quick UI Check for WM Applications" href="http://blogs.msdn.com/mikefrancis/archive/2007/12/10/powershell-and-quick-ui-check-for-wm-applications.aspx" mce_href="http://blogs.msdn.com/mikefrancis/archive/2007/12/10/powershell-and-quick-ui-check-for-wm-applications.aspx"&gt;PowerShell and Quick UI Check for WM Applications&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;&lt;/P&gt;&lt;A href="http://msdn.microsoft.com/windowsmobile/" mce_href="http://msdn.microsoft.com/windowsmobile/"&gt;MSDN Windows Mobile Developer Center&lt;/A&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for again for attending!&lt;/P&gt;
&lt;P&gt;Look for a posting of the webcast Q&amp;amp;A in my next blog post.&lt;/P&gt;
&lt;P&gt;Mike&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9320976" width="1" height="1"&gt;</content><author><name>M Francis</name><uri>http://blogs.msdn.com/mjf/ProfileUrlRedirect.ashx</uri></author></entry></feed>