<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Nuo Yan : 3. Windows Mobile</title><link>http://msmvps.com/blogs/nuoyan/archive/tags/3.+Windows+Mobile/default.aspx</link><description>Tags: 3. Windows Mobile</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Internet Explorer Mobile 6 emulators are available to download</title><link>http://msmvps.com/blogs/nuoyan/archive/2008/11/12/internet-explorer-mobile-6-emulators-are-available-to-download.aspx</link><pubDate>Thu, 13 Nov 2008 01:46:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1653941</guid><dc:creator>Nuo Yan</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nuoyan/rsscomments.aspx?PostID=1653941</wfw:commentRss><comments>http://msmvps.com/blogs/nuoyan/archive/2008/11/12/internet-explorer-mobile-6-emulators-are-available-to-download.aspx#comments</comments><description>&lt;p&gt;Finally Internet Explorer Mobile 6 is there and a new&amp;nbsp;emulator version (Windows Mobile 6.1.4)&amp;nbsp;includes IE Mobile 6 is now available to download at &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=1A7A6B52-F89E-4354-84CE-5D19C204498A&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=1A7A6B52-F89E-4354-84CE-5D19C204498A&amp;amp;displaylang=en&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Winwodws Mobile developers should certainly check this out and see how your applications can take advantage of this new IE Mobile.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1653941" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nuoyan/archive/tags/3.+Windows+Mobile/default.aspx">3. Windows Mobile</category></item><item><title>How to connect Remote Spy++ to Windows Mobile emulators in Visual Studio 2008</title><link>http://msmvps.com/blogs/nuoyan/archive/2008/08/28/how-to-connect-remote-spy-to-windows-mobile-emulators-in-visual-studio-2008.aspx</link><pubDate>Thu, 28 Aug 2008 21:29:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1646122</guid><dc:creator>Nuo Yan</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nuoyan/rsscomments.aspx?PostID=1646122</wfw:commentRss><comments>http://msmvps.com/blogs/nuoyan/archive/2008/08/28/how-to-connect-remote-spy-to-windows-mobile-emulators-in-visual-studio-2008.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;I don&amp;rsquo;t see any problem doing so, but I got a question from a comment of one of my earlier post. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;font-family:Times New Roman;"&gt;The question states&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;font-family:Times New Roman;"&gt;&amp;ldquo;&lt;span style="mso-ansi-language:EN;"&gt;Hello! Could you please tell more about how to make Remote Spy++ connect to WM 5.0 emulator, which I got with MSVS2008? I&amp;#39;ve read some articles at microsoft.com, but they say you can&amp;#39;t connect to Windows Mobile, only Windows CE...&lt;/span&gt;&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;So I want to explain the process to connect Remote Spy to Windows Mobile emulator in Visual Studio 2008.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Here are the steps:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;1. On the Debug menu of Visual Studio 2008, click Start Debugging. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;em&gt;Note: Make sure you selected the correct emulator, for example, USA Windows Mobile 5.0 Pocket PC R2 emulator, depending on what Windows Mobile SDK you&amp;rsquo;re using for your project. The step is the same for Windows Mobile 6 and 6.1 emulators.&lt;/em&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;2. &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;On the Start menu, click All Programs, expand Microsoft Visual Studio 2008 folder, click Remote Spy in the Visual Studio Remote Tools folder to start Remote Spy.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;3. In the Select a Windows CE Device dialog box of Remote Spy, select the emulator (or device) you want Remote Spy to connect to (the same one as you selected in step 1). Then click &amp;ldquo;OK.&amp;rdquo; Shortly you will be able to see the Windows List shows up.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EN;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Let me know if there&amp;rsquo;s any problem, and I will figure it out for you.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1646122" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nuoyan/archive/tags/3.+Windows+Mobile/default.aspx">3. Windows Mobile</category></item><item><title>New Windows Mobile Starter Kits</title><link>http://msmvps.com/blogs/nuoyan/archive/2007/09/25/new-windows-mobile-starter-kits.aspx</link><pubDate>Tue, 25 Sep 2007 17:29:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1215090</guid><dc:creator>Nuo Yan</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nuoyan/rsscomments.aspx?PostID=1215090</wfw:commentRss><comments>http://msmvps.com/blogs/nuoyan/archive/2007/09/25/new-windows-mobile-starter-kits.aspx#comments</comments><description>&lt;p&gt;There are some new Windows Mobile Starter Kits published recently on MSDN demonstrating different technologies include DirectDraw on mobile applications, WIndows Mobile Ink APIs, Home Screen APIs, etc.&lt;/p&gt;
&lt;p&gt;A starter kit is a useful and ready-to-run project which helps developers to understand the concepts of various technologies. It comes with a detailed documentation which helps developers to understand the code and structure of the programming project in the starter kit. Developers can develop their own application based on the existing starter kits.&lt;/p&gt;
&lt;p&gt;The following link on MSDN explains the details of the starter kits and provides links for you to download them.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/windowsmobile/bb264330.aspx"&gt;http://msdn2.microsoft.com/en-us/windowsmobile/bb264330.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1215090" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nuoyan/archive/tags/3.+Windows+Mobile/default.aspx">3. Windows Mobile</category></item><item><title>Windows Mobile Ink: The Correct Way of Getting Recognition Results</title><link>http://msmvps.com/blogs/nuoyan/archive/2007/08/05/sss.aspx</link><pubDate>Sun, 05 Aug 2007 08:30:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1086704</guid><dc:creator>Nuo Yan</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nuoyan/rsscomments.aspx?PostID=1086704</wfw:commentRss><comments>http://msmvps.com/blogs/nuoyan/archive/2007/08/05/sss.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Windows Mobile Ink APIs are new in Windows Mobile 6 SDK. I guess they are trying to replace the old RichInk APIs.&lt;/p&gt;
&lt;p&gt;The way of using Windows Mobile Ink is not complex. The basic idea is to have a IInkOverlay object as an ink collector; an IInkDisp object as a container of strokes data; an IInkStrokes object as a collection of IInkStrokeDisp object. The IInkOverlay object collects the ink data and put them&amp;nbsp;in the IInkDisp object. Then the IInkDisp object put the strokes to the IInkStrokes object.&lt;/p&gt;
&lt;p&gt;When the strokes data are in&amp;nbsp;the IInkStrokes object, it&amp;#39;s time to get the best recognition result. Currently there&amp;nbsp;are two ways of doing that. One is to directly use the ToString() method to get the best recognition result; the other is to create an IInkRecognitionResult object and use get_RecognitionResult property to get the recognition result set from the IInkStrokes object, then use get_TopString() property to get the best fit result and put it in the BSTR.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;/**&lt;/p&gt;
&lt;p&gt;* pInkStrokes is the IInkStrokes object.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;* pInkRecognitionResult is the IInkRecognitinoResult object.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;* StringRecognitionResult is the BSTR.&lt;/p&gt;
&lt;p&gt;**/&lt;/p&gt;
&lt;p&gt;//Get the best recognition result to the IInkRecognitionResult object&lt;/p&gt;
&lt;p&gt;pInkStrokes-&amp;gt;get_RecognitionResult(&amp;amp;pInkRecognitionResult);&lt;/p&gt;
&lt;p&gt;//Get the best recognition result to the BSTR&lt;/p&gt;
&lt;p&gt;pInkRecognitionResult-&amp;gt;get_TopString(&amp;amp;StringRecognitionResult);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The first way, using ToString(), seems to be much easier than the second way which is to use IInkRecognitionResult object; However, ToString() is not recommended to be used in this case. I&amp;#39;ve ever mistakenly used ToString() in this case and had some strange exceptions raised (i.e. WinCE501bException) when my application is not used properly.&amp;nbsp;As the result the correct way of getting ink recognition results is to use IInkRecognitionResult object and its properties. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1086704" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nuoyan/archive/tags/3.+Windows+Mobile/default.aspx">3. Windows Mobile</category></item><item><title>Windows Mobile: Getting Screen Size Information Before Main Window Is Loaded</title><link>http://msmvps.com/blogs/nuoyan/archive/2007/07/22/windows-mobile-getting-screen-size-information-before-main-window-has-loaded.aspx</link><pubDate>Sun, 22 Jul 2007 19:19:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1047435</guid><dc:creator>Nuo Yan</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nuoyan/rsscomments.aspx?PostID=1047435</wfw:commentRss><comments>http://msmvps.com/blogs/nuoyan/archive/2007/07/22/windows-mobile-getting-screen-size-information-before-main-window-has-loaded.aspx#comments</comments><description>&lt;p&gt;I wanted to develop a screen size aware application, which will draw all application dialogboxes and windows dynamically depends on the actual screen size of the device. It will not be that hard to adapt the main application window to the screen size because GetWindowRect() or GetClientRect() functions can be used to get the screen size when the main window is loaded. &lt;/p&gt;
&lt;p&gt;However, if the application has a pop-op dialogbox for user to do some selections before the main window is loaded, how can I make the dialogbox aware of the screen size? Since main application window hasn&amp;#39;t loaded yet so GetWindowRect() and GetClientRect() won&amp;#39;t get the correct value for screen size. &lt;/p&gt;
&lt;p&gt;I thought about it, asked people around me and looked for some related resources, then I found two solutions.&lt;/p&gt;
&lt;p&gt;The first way of doing it is to use GetSystemMetrics() function. It&amp;nbsp;can get the screen size even the main application window hasn&amp;#39;t been loaded yet. So if I define two int variables height and width, then I can set:&lt;/p&gt;
&lt;p&gt;height = GetSystemMetrics(SM_CYSCREEN);&lt;/p&gt;
&lt;p&gt;width = GetSystemMetrics(SM_CXSCREEN);&lt;/p&gt;
&lt;p&gt;Then I can use MoveWindow() under WM_INITDIALOG message handler to make the dialogbox aware of screen size.&lt;/p&gt;
&lt;p&gt;The second way of doing it can be delaying the display of the dialogbox until main window is initialized (not necessarily shown). To implement it this way, I need to have a&amp;nbsp;global integer variable&amp;nbsp;storing the state&amp;nbsp;of the application. It can be set to a specific value, then as the main window has been initialized, set the global integer to another value. Then&amp;nbsp;have&amp;nbsp;a test of the value, to judge when to display the dialogbox. At the time the dialogbox can be displayed, main application window&amp;nbsp;is already initialized so GetWindowRect() function can return the appropriate screen size information.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1047435" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nuoyan/archive/tags/3.+Windows+Mobile/default.aspx">3. Windows Mobile</category></item><item><title>Using Remote Spy++ To Check Window Messages in Windows Mobile Applications</title><link>http://msmvps.com/blogs/nuoyan/archive/2007/07/04/using-remote-spy-to-check-window-messages-in-windows-mobile-applications.aspx</link><pubDate>Wed, 04 Jul 2007 17:30:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1000962</guid><dc:creator>Nuo Yan</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/nuoyan/rsscomments.aspx?PostID=1000962</wfw:commentRss><comments>http://msmvps.com/blogs/nuoyan/archive/2007/07/04/using-remote-spy-to-check-window-messages-in-windows-mobile-applications.aspx#comments</comments><description>&lt;p&gt;Windows programming in native C++ is generally considered far more complex than in managed code. Programming for Windows Mobile devices is&amp;nbsp;very similar&amp;nbsp;with&amp;nbsp;Windows programming. Sometimes we need to figure out which Window message is sent so we can&amp;nbsp;write the corresponding event handling code. However, we can&amp;#39;t use Spy++ to do so because we are either debugging our application in the device emulator which is a virtual machine or an actual device.&lt;/p&gt;
&lt;p&gt;Visual Studio has a tool called Remote Spy++ (with an array of other remote tools), which provides us the functionality to work with device emulators and/or &amp;nbsp;actual connected devices. So if you don&amp;#39;t know this guy yet and want to use Spy++ for your device application, you can go ahead and try. It&amp;#39;s pretty cool and may save you a lot of work to watch for the right messages.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1000962" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/nuoyan/archive/tags/3.+Windows+Mobile/default.aspx">3. Windows Mobile</category></item></channel></rss>