<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Windows CE Programming &#187; Tips</title>
	<atom:link href="http://www.hjgode.de/wp/category/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hjgode.de/wp</link>
	<description>Windows Mobile Development and usage</description>
	<lastBuildDate>Fri, 03 Feb 2012 08:53:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<!--CodeProjectFeeder channel--><category>CodeProject</category><generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Windows Mobile &#8211; the no-go world of Function Keys</title>
		<link>http://www.hjgode.de/wp/2011/12/20/windows-mobile-the-no-go-world-of-function-keys/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-mobile-the-no-go-world-of-function-keys</link>
		<comments>http://www.hjgode.de/wp/2011/12/20/windows-mobile-the-no-go-world-of-function-keys/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 09:07:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Int*rm*c]]></category>
		<category><![CDATA[Keyboard]]></category>
		<category><![CDATA[kiosk mode]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows Mobile Information]]></category>
		<category><![CDATA[AllKeys]]></category>
		<category><![CDATA[Function Key]]></category>
		<category><![CDATA[Internet Explorer Mobile]]></category>
		<category><![CDATA[remote desktop mobile]]></category>
		<category><![CDATA[UnregisterFunc1]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=1274</guid>
		<description><![CDATA[Hello I want to summarize the role of function keys in Windows Mobile, former Pocket PC, as I got several questions each week on how to use or enable Function keys in this or that application. Here is a simple information about how function keys work in Windows Mobile. As example you have a web [...]]]></description>
			<content:encoded><![CDATA[<p>Hello</p>
<p><span style="background-color: #c0c0c0;">I want to summarize the role of <span style="color: #ff0000;"><strong>function keys in Windows Mobile</strong></span>, former Pocket PC, as I got several questions each week on how to use or enable Function keys in this or that application.</span></p>
<p><span style="background-color: #c0c0c0;">Here is a simple information about <span style="color: #ff0000;">how function keys work in Windows Mobile</span>.</span></p>
<p><span id="more-1274"></span>As example you have a web application which shows F3 and F4 as shortcuts to previous/next page:</p>
<div id="attachment_1275" class="wp-caption alignnone" style="width: 250px"><a href="http://www.hjgode.de/wp/2011/12/20/windows-mobile-the-no-go-world-of-function-keys/test_not_ok-htm-in_ib_pie/" rel="attachment wp-att-1275"><img class="size-full wp-image-1275" title="SAP ITS Mobile screen Intermec Browser" src="http://www.hjgode.de/wp/wp-content/uploads/2011/12/test_not_ok.htm.in_IB_PIE.gif" alt="SAP ITS Mobile screen Intermec Browser" width="240" height="320" /></a><p class="wp-caption-text">SAP ITS Mobile screen Intermec Browser</p></div>
<p>Without some prepare this screen will not react on function keys! As the screen shows Intermec Browser (IB) with a SAP ITS Mobile form, you are able to define settings in IB to be able to really use the Function Keys.</p>
<p>Windows Mobile uses Function Key values for its own purpose. The usage can be retrieved by looking at winuserm.h of a Windows Mobile SDK:</p>
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.hjgode.de/wp/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://www.hjgode.de/wp/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://www.hjgode.de/wp/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://www.hjgode.de/wp/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="cpp" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="co1">//winuserm.h</span></div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TSOFT1   VK_F1               // Softkey 1</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TSOFT2   VK_F2               // Softkey 2</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TTALK    VK_F3               // Talk</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TEND     VK_F4               // End</span></div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TRECORD      VK_F10          // Record</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TFLIP        VK_F17          // Flip</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TPOWER       VK_F18          // Power</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TVOLUMEUP    VK_F6           // Volume Up</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TVOLUMEDOWN  VK_F7           // Volume Down</span></div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TSPEAKERPHONE_TOGGLE VK_F16</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_END_ALL_DATA_CALLS   VK_F15</span></div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TSTAR    VK_F8               // *</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_TPOUND   VK_F9               // #</span></div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1"><span class="co2">#define VK_SYMBOL   VK_F11              // Symbol (SYM) key</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1"><span class="co2">#define VK_REDKEY   VK_F19              // Sent by a keypad that has a special red function key</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_ROCKER   VK_F20              // Arrow keys came from a Rocker</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_DPAD     VK_F21              // Arrow keys came from a DPAD</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_ACTION   VK_F23              // Sent with VK_RETURN when doing Action on PPC rockers</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1"><span class="co2">#define VK_VOICEDIAL  VK_F24            // Key used to kick off voice dial recognition</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_KEYLOCK    VK_F22            // Key used to lock the device</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_KEYUNLOCK  VK_F25             // Key used to unlock the key lock</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1"><span class="co1">// Chorded keys.  DONE is VK_RWIN + VK_F6 and MOJI is VK_RWIN + VK_F7</span></div></li><li class="li1"><div class="de1"><span class="co2">#define VK_DONE     VK_F6                 // &lt;OK/Close&gt; hotkey code</span></div></li><li class="li1"><div class="de1"><span class="co2">#define MOD_DONE    (MOD_WIN | MOD_KEYUP) // &lt;OK/Close&gt; hotkey modifiers</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1"><span class="co2">#define VK_MOJI     VK_F7                  // Key used to switch between FE language layouts</span></div></li><li class="li1"><div class="de1"><span class="co2">#define MOD_MOJI    (MOD_WIN | MOD_KEYUP)  //Modifiers so MOJI goes to the shell</span></div></li><li class="li1"><div class="de1">...</div></li></ol></pre></div></div>
<p>You see that many FunctionKey values are assigned to OS specific functions like Phone, END, Volume Up/Down etc.</p>
<p>So, you can normally not use Function Keys in your application to provide shortcuts to function calls. This is also true for client applications like Terminal Emulators (TE) like NaurTechTE and Intermec TE (ITE), browser based applications like Internet Explorer Mobile or Intermec Kiosk Mode Browser (IB), thin clients like Java client apps (ie. SAP ITS Mobile) or Remote Desktop client apps (ie Remote Desktop Mobile, zaDesktop).</p>
<p>Some of the kiosk mode apps provide a way to enable you to use Function Keys (see example at top). They can do so, as they use API calls like UnregisterFunc1 or AllKeys(TRUE) or GXOpenInput (deprecated!). These APIs instruct Windows Mobile OS to NOT catch and use Function Keys but handle them like &#8216;normal&#8217; keys.</p>
<p>If you are the coder of an application using CPP, CSharp (C#), VB.NET, CPP or JAVA, you can use the Microsoft API function AllKeys(TRUE) in your code and Windows Mobile will not tamper the function keys.</p>
<p>If you are not the coder you may use UnregisterFunc1 (see my post &#8220;<a title="Free up your function keys" href="http://www.hjgode.de/wp/2010/02/10/use-funckey-to-free-up-your-functionkeys-on-windows-mobile/">Freedom for Function Keys</a>&#8220;). But be warned, there are applications that even then will not process Function Keys or do not forward them. For example Internet Explorer Mobile (IEM) will NOT process Function Keys except for internal functions like help or full-screen. Another bad example is Remote Desktop Mobile (RDM). It does not support Function Keys, even if you un-register them before you launch RDM, Function Keys will NOT be processed or transmitted to the host application. An alternative to RDM with function key support is <a href="http://www.hjgode.de/wp/2010/11/20/mobile-development-a-native-remote-desktop-client-rdesktop-port-win32/">rdesktopCE</a>.</p>
<p>When you use UnregisterFunc1, you can check the Function Keys using a tool like <a title="Keytest3AK" href="http://www.hjgode.de/wp/2009/05/11/keytest3ak-a-tool-to-look-at-keyboard-codes/">KeyTest3AK</a>. It will show the keydown and keyup values of keys and shows what happens if you use AllKeys():</p>
<p><a href="http://www.hjgode.de/wp/2009/05/11/keytest3ak-a-tool-to-look-at-keyboard-codes/screenshot_keytest3ak/" rel="attachment wp-att-615"><img class="alignnone size-full wp-image-615" title="screenshot_keytest3ak" src="http://www.hjgode.de/wp/wp-content/uploads/2009/05/screenshot_keytest3ak.gif" alt="" width="240" height="320" /></a></p>
<p><a href="http://www.hjgode.de/wp/?s=allkeys">More posts about AllKeys</a></p>
<p>&nbsp;</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F12%2F20%2Fwindows-mobile-the-no-go-world-of-function-keys%2F&amp;title=Windows+Mobile+%26%238211%3B+the+no-go+world+of+Function+Keys" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F12%2F20%2Fwindows-mobile-the-no-go-world-of-function-keys%2F&amp;title=Windows+Mobile+%26%238211%3B+the+no-go+world+of+Function+Keys" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F12%2F20%2Fwindows-mobile-the-no-go-world-of-function-keys%2F&amp;title=Windows+Mobile+%26%238211%3B+the+no-go+world+of+Function+Keys" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F12%2F20%2Fwindows-mobile-the-no-go-world-of-function-keys%2F&amp;T=Windows+Mobile+%26%238211%3B+the+no-go+world+of+Function+Keys" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F12%2F20%2Fwindows-mobile-the-no-go-world-of-function-keys%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F12%2F20%2Fwindows-mobile-the-no-go-world-of-function-keys%2F&amp;t=Windows+Mobile+%26%238211%3B+the+no-go+world+of+Function+Keys" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2011/12/20/windows-mobile-the-no-go-world-of-function-keys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remote Desktop Mobile on VGA devices: QVGA applications do not scale well</title>
		<link>http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well</link>
		<comments>http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 11:37:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Int*rm*c]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[HI_RES_AWARE]]></category>
		<category><![CDATA[QVGA]]></category>
		<category><![CDATA[rdp]]></category>
		<category><![CDATA[remote desktop mobile]]></category>
		<category><![CDATA[VGA]]></category>
		<category><![CDATA[Windows Mobile 6.5.3]]></category>
		<category><![CDATA[wpctsc.exe]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=1184</guid>
		<description><![CDATA[Hi there are now more and more full VGA rugged devices coming. And some customers are still using Remote Desktop Mobile to run there application on the small screens. Unfortunately some of the coders use application screen layouts hard coded to QVGA (240&#215;320). Now with a VGA capable Windows Mobile device they get weird screens [...]]]></description>
			<content:encoded><![CDATA[<p>Hi</p>
<p>there are now more and more full VGA rugged devices coming. And some customers are still using Remote Desktop Mobile to run there application on the small screens. Unfortunately some of the coders use application screen layouts hard coded to QVGA (240&#215;320). Now with a VGA capable Windows Mobile device they get weird screens on the device.</p>
<p>The client (Remote Desktop Mobile) sends the server information about there screen sizes. As a VGA device can display 480&#215;640 pixels, the hard coded 240&#215;320 applications only use a quarter of the screen. The texts are very small and more or less unreadable.</p>
<p><span id="more-1184"></span>The terminal server gets client resolution information:</p>
<p><a href="http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/tsmanager_vga_unhacked/" rel="attachment wp-att-1186"><img class="aligncenter size-full wp-image-1186" title="TSManager_VGA_unhacked" src="http://www.hjgode.de/wp/wp-content/uploads/2011/09/TSManager_VGA_unhacked.gif" alt="" width="637" height="353" /></a> Unscaled (left) VGA display of a QVGA application (with &#8220;Fit remote desktop to screen&#8221; NOT CHECKED) and on the right the same application with internal autoadjust to workscreen size:</p>
<p><a href="http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/qvga_fixed_form_on_vga_screen_nofittoscreen/" rel="attachment wp-att-1187"><img class="alignnone size-medium wp-image-1187" title="QVGA_fixed_form_on_VGA_screen_noFitToScreen" src="http://www.hjgode.de/wp/wp-content/uploads/2011/09/QVGA_fixed_form_on_VGA_screen_noFitToScreen-225x300.gif" alt="" width="225" height="300" /></a>  <a href="http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/rdm_options/" rel="attachment wp-att-1189"><img class="alignnone size-medium wp-image-1189" title="RDM_options" src="http://www.hjgode.de/wp/wp-content/uploads/2011/09/RDM_options-225x300.gif" alt="" width="225" height="300" /></a>  <a href="http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/qvga_autoscale_form_on_vga_screen/" rel="attachment wp-att-1190"><img class="alignnone size-medium wp-image-1190" title="QVGA_autoscale_form_on_VGA_screen" src="http://www.hjgode.de/wp/wp-content/uploads/2011/09/QVGA_autoscale_form_on_VGA_screen-225x300.gif" alt="" width="225" height="300" /></a></p>
<p>As you can see in the right image above this line, it is no problem to show a form designed for QVGA to scale nice with the use of some code (as using WorkingArea.Width/Height and a table layout). But in the left image you see what happens to hard coded designed applications.</p>
<p>If you have the source code, you should change the design of your dialogs to be resolution aware, so it scales fine for QVGA and VGA (and whatever comes next).</p>
<p>If you do not have the code or can not change the application, you have to tell Windows Mobile to behave like the Remote Desktop Mobile application is NOT <a href="http://msdn.microsoft.com/en-us/library/bb416287.aspx" target="_blank">HI_RES_AWARE</a>. That means you need to hack the exe file. I took a look at the Windows Mobile 6.5.3 wpctsc.exe (the Remote Desktop Mobile executable) and did not find the HI_RES_AWARE resource, so the OS must use the other mark to see that wpctsc.exe is HI_RES_AWARE. And yes, indeed, the PE header shows that wpctsc.exe has a subystem version of 5.2. With some PEInfo tool, you can hack the major subsystem version and just change it from 5 to 4.</p>
<p>When you start a application that is not HI_RES_AWARE, the Windows Mobile 6.5.3 OS will scale all UI elements for the application and the app will look fine and not only fill a quarter of the VGA screen. After changing the major subsystem version number, the first thing you will notice is the more coarse display of the menu items in the menu bar:</p>
<p><a href="http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/rdm_startscreen_vga/" rel="attachment wp-att-1193"><img class="alignnone size-medium wp-image-1193" title="RDM_startscreen_VGA" src="http://www.hjgode.de/wp/wp-content/uploads/2011/09/RDM_startscreen_VGA-225x300.gif" alt="" width="225" height="300" /></a>   <a href="http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/rdm_startscreen_qvga/" rel="attachment wp-att-1194"><img class="alignnone size-medium wp-image-1194" title="RDM_startscreen_QVGA" src="http://www.hjgode.de/wp/wp-content/uploads/2011/09/RDM_startscreen_QVGA-225x300.gif" alt="" width="225" height="300" /></a></p>
<p>Left is the HI_RES_AWARE original app and on the right we have the hacked one (take a closer look ate the ellipses around the menu items).</p>
<p>When you use the hacked, not HI_RES_AWARE, application, the terminal server will see the client supports QVGA only (Client Resolution) and your hard coded application screens will look the same as on a QVGA capable device:</p>
<p><a href="http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/qvga-form_on_qvga-screen/" rel="attachment wp-att-1195"><img class="alignnone size-medium wp-image-1195" title="QVGA-form_on_QVGA-screen" src="http://www.hjgode.de/wp/wp-content/uploads/2011/09/QVGA-form_on_QVGA-screen-225x300.gif" alt="" width="225" height="300" /></a>   <a href="http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/tsmanager_qvga_hacked_nofittoscreen-2/" rel="attachment wp-att-1197"><img class="alignnone size-full wp-image-1197" title="TSManager_QVGA_hacked_noFitToScreen" src="http://www.hjgode.de/wp/wp-content/uploads/2011/09/TSManager_QVGA_hacked_noFitToScreen1.gif" alt="" width="637" height="354" /></a></p>
<p>The attached wpctsc.exe is the hacked one with a subsystem major version number of 4 instead of 5. Use this on your Windows Mobile 6.5.3 device at your own risk. The file is not signed as the device I work with are not requiring signed exe files. The change to the exe file (after I dumped the OS files to my PC using itsutils) was simply done with mgeeky&#8217;s PEinfo code at <a href="https://github.com/mgeeky/PEInfo" target="_blank">GitHub</a>.</p>
<p>If you can not copy the file on top of the original one on the device (\Windows\wpctsc.exe), you can use the syscache feature. Copy the wpctsc.exe to \Windows\System\SysCache directory and reboot the device. If the directory does not exist you just have to create it manually.</p>
<p>If you want to get the old wpctsc.exe back, just delete the file you copied. As the original wpctsc.exe is part of the OS (a XIP file), you can not delete the file but you can copy a file with the same name on top of it. When you delete this copied file, the original is back in place. So, there is no harm in testinng the exe.</p>
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=142" title="Downloaded 242 times">wpctsc.exe with major subsystem version number = 4</a> -  (Hits: 242, size: 40.21 kB)
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F09%2F05%2Fremote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well%2F&amp;title=Remote+Desktop+Mobile+on+VGA+devices%3A+QVGA+applications+do+not+scale+well" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F09%2F05%2Fremote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well%2F&amp;title=Remote+Desktop+Mobile+on+VGA+devices%3A+QVGA+applications+do+not+scale+well" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F09%2F05%2Fremote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well%2F&amp;title=Remote+Desktop+Mobile+on+VGA+devices%3A+QVGA+applications+do+not+scale+well" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F09%2F05%2Fremote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well%2F&amp;T=Remote+Desktop+Mobile+on+VGA+devices%3A+QVGA+applications+do+not+scale+well" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F09%2F05%2Fremote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F09%2F05%2Fremote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well%2F&amp;t=Remote+Desktop+Mobile+on+VGA+devices%3A+QVGA+applications+do+not+scale+well" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2011/09/05/remote-desktop-mobile-on-vga-devices-qvga-applications-do-not-scale-well/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All you need to know about unicode</title>
		<link>http://www.hjgode.de/wp/2011/03/18/all-you-need-to-know-about-unicode/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=all-you-need-to-know-about-unicode</link>
		<comments>http://www.hjgode.de/wp/2011/03/18/all-you-need-to-know-about-unicode/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 15:55:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Compact Framework]]></category>
		<category><![CDATA[multibyte]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[utf]]></category>
		<category><![CDATA[utf-16]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[widebyte]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=1085</guid>
		<description><![CDATA[Recently I stumbled about this great article about ASCII, 7 and 8 Bit, codepages, Multi byte, Wide byte and unicode: http://www.joelonsoftware.com/articles/Unicode.html If you ever get in trouble with wrong encoding display of chars, give this article a try to know the backgrounds. As you know, Windows CE and Windows Mobile  is always unicode except for [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I stumbled about this great article about ASCII, 7 and 8 Bit, codepages, Multi byte, Wide byte and unicode: http://www.joelonsoftware.com/articles/Unicode.html</p>
<p>If you ever get in trouble with wrong encoding display of chars, give this article a try to know the backgrounds.</p>
<p>As you know, Windows CE and Windows Mobile  is always unicode except for serial and socket communication. But the truetype fonts available on Windows Mobile devices mostly support only common chars, there file size is about 600K. The file size of Arial Unicode MS is about 22MB.</p>
<p>regards</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F18%2Fall-you-need-to-know-about-unicode%2F&amp;title=All+you+need+to+know+about+unicode" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F18%2Fall-you-need-to-know-about-unicode%2F&amp;title=All+you+need+to+know+about+unicode" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F18%2Fall-you-need-to-know-about-unicode%2F&amp;title=All+you+need+to+know+about+unicode" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F18%2Fall-you-need-to-know-about-unicode%2F&amp;T=All+you+need+to+know+about+unicode" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F18%2Fall-you-need-to-know-about-unicode%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F18%2Fall-you-need-to-know-about-unicode%2F&amp;t=All+you+need+to+know+about+unicode" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2011/03/18/all-you-need-to-know-about-unicode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile: Disable Low Battery Warning</title>
		<link>http://www.hjgode.de/wp/2011/03/05/windows-mobile-disable-low-battery-warning/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-mobile-disable-low-battery-warning</link>
		<comments>http://www.hjgode.de/wp/2011/03/05/windows-mobile-disable-low-battery-warning/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 17:35:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[kiosk mode]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[disable]]></category>
		<category><![CDATA[Low battery]]></category>
		<category><![CDATA[registry]]></category>
		<category><![CDATA[warning]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=1062</guid>
		<description><![CDATA[Although I dont recommend this, it may be usefull if your kiosk mode app watches and manages the battery level: you can disable the low battery warning. Sometimes such hacks are hard to find, now there is one more location in internet. In the registry find the key [HKEY_CURRENT_USER\ControlPanel\Notifications\{A877D663-239C-47a7-9304-0D347F580408}] This is the entry responsible for [...]]]></description>
			<content:encoded><![CDATA[<p>Although I dont recommend this, it may be usefull if your kiosk mode app watches and manages the battery level: you can disable the low battery warning. Sometimes such hacks are hard to find, now there is one more location in internet.</p>
<p>In the registry find the key</p>
<pre>[HKEY_CURRENT_USER\ControlPanel\Notifications\{A877D663-239C-47a7-9304-0D347F580408}]</pre>
<p>This is the entry responsible for low battery warnings</p>
<p>Add a new REG_SZ key: &#8220;Default&#8221; with for example the text &#8220;Low Battery Warning&#8221;</p>
<pre>"Default"="Low Battery Warning"</pre>
<p>This entry is used to display the notification in the list of notifications in Start-Settings-Sounds&amp;Notifications. To disable the notification itself it is not really necessary, but easier to control.</p>
<p>The Options entry in the registry defines which options your selected in Start-Settings-Sounds&amp;Notifications, for example play a sound or display a user notification. Set Options to REG_DWORD=0&#215;00 and there will be no notification when the battery goes down to 10% (depends on the device) and lower.</p>
<p>Here is the change in full:</p>
<pre>REGEDIT4
[HKEY_CURRENT_USER\ControlPanel\Notifications\{A877D663-239C-47a7-9304-0D347F580408}]
"Options"=dword:00000000
"Default"="LowBattWarning"</pre>
<p><strong>You need to reboot the device after the change!</strong></p>
<p>Only a small tipp</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F05%2Fwindows-mobile-disable-low-battery-warning%2F&amp;title=Windows+Mobile%3A+Disable+Low+Battery+Warning" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F05%2Fwindows-mobile-disable-low-battery-warning%2F&amp;title=Windows+Mobile%3A+Disable+Low+Battery+Warning" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F05%2Fwindows-mobile-disable-low-battery-warning%2F&amp;title=Windows+Mobile%3A+Disable+Low+Battery+Warning" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F05%2Fwindows-mobile-disable-low-battery-warning%2F&amp;T=Windows+Mobile%3A+Disable+Low+Battery+Warning" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F05%2Fwindows-mobile-disable-low-battery-warning%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F03%2F05%2Fwindows-mobile-disable-low-battery-warning%2F&amp;t=Windows+Mobile%3A+Disable+Low+Battery+Warning" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2011/03/05/windows-mobile-disable-low-battery-warning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress backup fails</title>
		<link>http://www.hjgode.de/wp/2011/02/27/wordpress-backup-fails/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-backup-fails</link>
		<comments>http://www.hjgode.de/wp/2011/02/27/wordpress-backup-fails/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 06:30:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[file size limit]]></category>
		<category><![CDATA[host]]></category>
		<category><![CDATA[mysqldumper]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[strato.de]]></category>
		<category><![CDATA[worpress]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=1024</guid>
		<description><![CDATA[Help needed! [Edit: Partially solved, see bottom] this site is hosted on a cheap hosting site like many others. Recently I tried a backup of the WP database and files without success. The backups stuck (do never finsih and hang at a file or table) or just reported &#8220;success&#8221; (EZPZ backup). I also tried the [...]]]></description>
			<content:encoded><![CDATA[<p>Help needed! [Edit: Partially solved, see bottom]</p>
<p>this site is hosted on a cheap hosting site like many others. Recently I tried a backup of the WP database and files without success. The backups stuck (do never finsih and hang at a file or table) or just reported &#8220;success&#8221; (EZPZ backup). I also tried the hosters PHPAdmin to backup the WP database without success, I got out of memory errors.</p>
<p>Finally the cause of all these strange results is a limitation of the hosting, it has a limit of 20MB per file. As most backup tools for wordpress and even PHPAdmin use temporary files on my host, the backup fails as soon as the limit is reached.</p>
<p>I was finally able to backup the WP database by excluding the larger tables from the backup. To get the table sizes I used the following php script:</p>
<pre>Code:
&lt;?php
$link = mysql_connect('xxxxxxx.strato.de', 'username', 'password');
$db_name = "databasename";
$tables = array();
$txtOut="";
mysql_select_db($db_name, $link);
$result = mysql_query("SHOW TABLE STATUS");

while($row = mysql_fetch_array($result)) {
    /* We return the size in Kilobytes */
    $total_size = ($row[ "Data_length" ] +
                   $row[ "Index_length" ]) / 1024;
    $tables[$row['Name']] = sprintf("%.2f", $total_size);
	$txtOut=$txtOut."&lt;tr&gt;&lt;td&gt;".$row['Name']."&lt;/td&gt;&lt;td align=\"right\"&gt;".$tables[$row['Name']]."&lt;/td&gt;&lt;/tr&gt;";
}

echo "&lt;h1&gt;Database table sizes&lt;/h1&gt;";
echo "&lt;table border=\"1\"&gt;";
echo $txtOut;
echo "&lt;/table&gt;";
//print_r($tables);
//var_dump($tables);
?&gt;
</pre>
<p>The &#8220;success&#8221; failing backups may be related to a problem in php fwrite as described <a href="http://php.net/manual/en/function.fwrite.php" target="_blank">here</a>. Excerpt:</p>
<p><code>====================================================<br />
This means the example fwrite_stream() code  from the docs, as well as all the "helper" functions posted by others in  the comments are all broken. You *must* check for a return value of 0  and either abort immediately or track a maximum number of retries.</code></p>
<p>Below is the example from the docs. This code is BAD, as a broken pipe  will result in fwrite() infinitely looping with a return value of 0.  Since the loop only breaks if fwrite() returns false or successfully  writes all bytes, an infinite loop will occur on failure.</p>
<p>&lt;?php<br />
// BROKEN function &#8211; infinite loop when fwrite() returns 0s<br />
function fwrite_stream($fp, $string) {<br />
for ($written = 0; $written &lt; strlen($string); $written += $fwrite) {<br />
$fwrite = fwrite($fp, substr($string, $written));<br />
if ($fwrite === false) {<br />
return $written;<br />
}<br />
}<br />
return $written;<br />
}<br />
?&gt;<br />
<code>====================================================</code></p>
<p>So, if your WP backups fail, check with your hoster about file size limitations. I found this out myself as the backup folder on the site showed backup files with exact same file size of 21MB.</p>
<p>Please leave a mail or comment if you know a WP backup solution that  use splitted files and handles maximum file size limitations.</p>
<p>And as last guess never trust a backup, always try a restore or at least check the backup files.</p>
<p>[Edit 1. march 2011]</p>
<p>Fortunately strato.de support gave a hint and led me to try MySqlDumper. This sql dumper is able to split files and works also with limitted file size on the host. I even got a perl script now that I can simply invoke and that backups the whole database. The uncompressed dump is about 52MB and MySqlDumper did backup it into a 6MB gzipped dump file.</p>
<p>The only wish left is to have it run periodically but that would need cronjob access on the hoster site and is not included with the package I own at the hoster.</p>
<p>So if you need to backup a large WordPress MySql database you may give MySqlDumper a try.</p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 220px; width: 1px; height: 1px; overflow: hidden;">
<p>&lt;?php</p>
<p>$link = mysql_connect(&#8216;rdbms.strato.de&#8217;, &#8216;U402706&#8242;, &#8216;chopper&#8217;);</p>
<p>$db_name = &#8220;DB402706&#8243;;<br />
$tables = array();</p>
<p>$txtOut=&#8221;";</p>
<p>mysql_select_db($db_name, $link);<br />
$result = mysql_query(&#8220;SHOW TABLE STATUS&#8221;);</p>
<p>while($row = mysql_fetch_array($result)) {<br />
/* We return the size in Kilobytes */<br />
$total_size = ($row[ "Data_length" ] +<br />
$row[ "Index_length" ]) / 1024;<br />
$tables[$row['Name']] = sprintf(&#8220;%.2f&#8221;, $total_size);<br />
$txtOut=$txtOut.&#8221;&lt;tr&gt;&lt;td&gt;&#8221;.$row['Name'].&#8221;&lt;/td&gt;&lt;td align=\&#8221;right\&#8221;&gt;&#8221;.$tables[$row['Name']].&#8221;&lt;/td&gt;&lt;/tr&gt;&#8221;;<br />
}</p>
<p>$keynames=array_keys($tables);</p>
<p>echo &#8220;&lt;h1&gt;Database table sizes&lt;/h1&gt;&#8221;;<br />
echo &#8220;&lt;table border=\&#8221;1\&#8221;&gt;&#8221;;<br />
echo $txtOut;<br />
echo &#8220;&lt;/table&gt;&#8221;;</p>
<p>//print_r($tables);<br />
//var_dump($tables);</p>
<p>?&gt;<br />
&lt;!&#8211;<br />
$sql = &#8216;SELECT TABLE_SCHEMA AS \&#8217;Database\&#8217;, TABLE_NAME AS \&#8217;Table\&#8217;,&#8217;<br />
. &#8216; CONCAT(ROUND(((DATA_LENGTH + INDEX_LENGTH &#8211; DATA_FREE) / 1024 / 1024),2),&#8221; Mb&#8221;) AS Size FROM INFORMATION_SCHEMA.TABLES LIMIT 0, 60 &#8216;;<br />
&#8211;&gt;</p>
</div>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F02%2F27%2Fwordpress-backup-fails%2F&amp;title=WordPress+backup+fails" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F02%2F27%2Fwordpress-backup-fails%2F&amp;title=WordPress+backup+fails" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F02%2F27%2Fwordpress-backup-fails%2F&amp;title=WordPress+backup+fails" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F02%2F27%2Fwordpress-backup-fails%2F&amp;T=WordPress+backup+fails" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F02%2F27%2Fwordpress-backup-fails%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2011%2F02%2F27%2Fwordpress-backup-fails%2F&amp;t=WordPress+backup+fails" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2011/02/27/wordpress-backup-fails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monodevelop: Howto add a WinForm project and file template</title>
		<link>http://www.hjgode.de/wp/2010/10/21/monodevelop-howto-add-a-winform-project-and-file-template/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=monodevelop-howto-add-a-winform-project-and-file-template</link>
		<comments>http://www.hjgode.de/wp/2010/10/21/monodevelop-howto-add-a-winform-project-and-file-template/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 06:23:04 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Form template]]></category>
		<category><![CDATA[MonoDevelop]]></category>
		<category><![CDATA[WinForm template]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=862</guid>
		<description><![CDATA[MonoDevelop 2.4 adding custom WinForm project and file templates]]></description>
			<content:encoded><![CDATA[<p>I am running MonoDevelop 2.4 on my acer aspire one x150 netbook running Ubuntu 9.04 (Jaunty).</p>
<p>From time to time I needed to write and run little test applications in C#. As I am alsos running another PC with Visual Studio 2005 and 2008, I like these for providing me a WinForm template, so I dont have to start from scratch.</p>
<p>Unfortunately MonoDevelop does not come with a WinForm template and I searched the internet on how to extend the templates provided by MonoDevelop to add a WinForm template. Although I found some resources on how to add templates to MonoDevelop, none of them worked as described.</p>
<h2>Adding a template by using addins directory</h2>
<p>Some sources state you can add templates by creating two files within the MonoDevelop home dir. For example adding HelloTemplate.xpt.xml and MyTemplates.addin.xml to &#8220;~/.config/MonoDevelop/addins&#8221;. I tried this approach, but it did not work as a WinForm project template.</p>
<h2>Adding a template by using a packed template</h2>
<p>Similar to the previous attempt but using mdtool to pack the files: <br />
 mdtool setup pack addins/addin.xml -d:addins<br />
 and<br />
 mdtool setup rep-build addins<br />
 where you finally get a mpack file with your xml template files. Unfortunately this did also not work for project templates.</p>
<h2>Adding a template to the sources and recompile</h2>
<p>As I already had the MonoDevelop sources as I have compiled and installed MonoDevelop 2.4 from sources, I looked for the existing templates and added my WinForm project and file template.</p>
<p>Screenshot Start New WinForm project</p>
<p><a rel="attachment wp-att-863" href="http://www.hjgode.de/wp/2010/10/21/monodevelop-howto-add-a-winform-project-and-file-template/screenshot-new-solution/"><img class="alignnone size-medium wp-image-863" title="Screenshot-New Solution" src="http://www.hjgode.de/wp/wp-content/uploads/2010/10/Screenshot-New-Solution-300x228.png" alt="" width="300" height="228" /></a> <a rel="attachment wp-att-864" href="http://www.hjgode.de/wp/2010/10/21/monodevelop-howto-add-a-winform-project-and-file-template/screenshot-testwinform-main-cs-monodevelop/"><img class="alignnone size-medium wp-image-864" title="Screenshot-TestWinForm - Main.cs - MonoDevelop" src="http://www.hjgode.de/wp/wp-content/uploads/2010/10/Screenshot-TestWinForm-Main.cs-MonoDevelop-300x168.png" alt="" width="300" height="168" /></a></p>
<p>Screenshot Add New WinForm file</p>
<p><a rel="attachment wp-att-865" href="http://www.hjgode.de/wp/2010/10/21/monodevelop-howto-add-a-winform-project-and-file-template/screenshot-new-file/"><img class="alignnone size-medium wp-image-865" title="Screenshot-New File" src="http://www.hjgode.de/wp/wp-content/uploads/2010/10/Screenshot-New-File-300x227.png" alt="" width="300" height="227" /> <a rel="attachment wp-att-866" href="http://www.hjgode.de/wp/2010/10/21/monodevelop-howto-add-a-winform-project-and-file-template/screenshot-testwinform-winform1-cs-monodevelop/"><img class="alignnone size-medium wp-image-866" title="Screenshot-TestWinForm - WinForm1.cs - MonoDevelop" src="http://www.hjgode.de/wp/wp-content/uploads/2010/10/Screenshot-TestWinForm-WinForm1.cs-MonoDevelop-300x168.png" alt="" width="300" height="168" /></a></a></p>
<p>The source templates for CSharp are located on my netbook at: &#8220;/usr/local/src/monodevelop-2.4/src/addins/CSharpBinding/templates&#8221;. The Makefile references the template files in this directory. I had to add two template files to the directory and to the Makefile and the file CSharpBinding.add.xml. Then I did a make within the directory /usr/local/src/monodevelop-2.4/src/addins/CSharpBinding and then a &#8220;sudo make install&#8221; and finally got my WinForm project and file template available in MonoDevelop.</p>
<p><span id="more-862"></span></p>
<h3>Makefile</h3>
<pre>RES = \
    CSharpBinding.addin.xml \
    gtk-gui/gui.stetic \
    gtk-gui/objects.xml \
    icons/C\#.FileIcon \
    icons/csharp-icon-32.png \
    icons/csharp-project-16.png \
    md1format.xml \
    MonoCSharpPolicy.xml \
    MonoDevelop.CSharp.Formatting/CSharpFormattingPolicy.xml \
    templates/AssemblyInfo.xft.xml \
    templates/ConsoleProject.xpt.xml \
    <strong>templates/WinFormProject.xpt.xml \</strong>
    templates/EmptyCSharpFile.xft.xml \
    <strong>templates/EmptyFormCSharpFile.xft.xml \</strong>
    templates/EmptyProject.xpt.xml \
    templates/GtkSharp2Project.xpt.xml \
    templates/GtkSharp2ProjectMac.xpt.xml \
    templates/Library.xpt.xml
</pre>
<h3>CSharpBinding.addin.xml</h3>
<pre language="xml" escaped="true">    &lt;Extension path = "/MonoDevelop/Ide/FileTemplates"&gt;
        &lt;FileTemplate id = "CSharpEmptyFile" resource = "EmptyCSharpFile.xft.xml"/&gt;
        <strong>&lt;FileTemplate id = "CSharpEmptyFormFile" resource = "EmptyFormCSharpFile.xft.xml"/&gt;</strong>
        &lt;FileTemplate id = "CSharpAssemblyInfo" resource = "AssemblyInfo.xft.xml"/&gt;
    &lt;/Extension&gt;

    &lt;Extension path = "/MonoDevelop/Ide/ProjectTemplates"&gt;
        &lt;ProjectTemplate id = "CSharpConsoleProject" resource = "ConsoleProject.xpt.xml"/&gt;
        <strong>&lt;ProjectTemplate id = "CSharpWinFormProject" resource = "WinFormProject.xpt.xml"/&gt;</strong>
        &lt;ProjectTemplate id = "CSharpEmptyProject" resource = "EmptyProject.xpt.xml"/&gt;
</pre>
<p>The new files WinFormProject.xpt.xml and EmptyFormCSharpFile.xft.xml are simply based on the Console project template and the EmptyFile template files. I just added some code.</p>
<h3>WinFormProject.xpt.xml</h3>
<pre language="xml" escaped="true">...
    &lt;!-- Template Content --&gt;
    &lt;Combine name = "${ProjectName}" directory = "."&gt;
        &lt;Options&gt;
            &lt;StartupProject&gt;${ProjectName}&lt;/StartupProject&gt;
        &lt;/Options&gt;

        &lt;Project name = "${ProjectName}" directory = "."&gt;
            &lt;Options ExternalConsole="False"/&gt;
            &lt;References&gt;
                &lt;Reference type="Gac" refto="System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;
                &lt;Reference type="Gac" refto="System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;
                &lt;Reference type="Gac" refto="System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f711d50a3a" /&gt;
            &lt;/References&gt;
            &lt;Files&gt;
                &lt;File name="Main.cs" AddStandardHeader="True"&gt;&lt;![CDATA[using System;
using System.Windows.Forms;

namespace ${Namespace}
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            WinForm form = new WinForm();
            Application.Run(form);
            //Console.WriteLine("Hello World!");
        }
    }
    public class WinForm:Form{
        public WinForm(){
            InitializeComponent();
        }

        private void InitializeComponent() {
            this.Width = 400;
            this.Height = 300;
            this.Text = "My Dialog";
            Button btnOK = new Button();
            btnOK.Text="OK";
            btnOK.Location=new System.Drawing.Point(10,10);
            btnOK.Size=new System.Drawing.Size(80,24);
            this.Controls.Add(btnOK);
            btnOK.Click+=new EventHandler(btnOK_Click);
        }

        private void btnOK_Click(object sender, System.EventArgs e){
            this.DialogResult=DialogResult.OK;
            this.Close();
        }

    }
}]]&gt;&lt;/File&gt;
            &lt;FileTemplateReference TemplateID="CSharpAssemblyInfo" name="AssemblyInfo.cs" /&gt;
            &lt;/Files&gt;
        &lt;/Project&gt;
...
</pre>
<h3>EmptyFormCSharpFile.xft.xml</h3>
<pre language="xml" escaped="true">    &lt;TemplateConfiguration&gt;
        &lt;_Name&gt;Empty WinForm File&lt;/_Name&gt;
        &lt;Icon&gt;md-text-file-icon&lt;/Icon&gt;
        &lt;_Category&gt;General&lt;/_Category&gt;
        &lt;LanguageName&gt;C#&lt;/LanguageName&gt;
        &lt;_Description&gt;Creates an empty C# WinForm file.&lt;/_Description&gt;
    &lt;/TemplateConfiguration&gt;

    &lt;TemplateFiles&gt;
        &lt;File DefaultExtension=".cs" DefaultName="EmptyCSharpfile" AddStandardHeader="True"&gt;&lt;![CDATA[using System;
using System.Windows.Forms;

namespace ${Namespace}
{
    public class ${Name}:Form{
        public ${Name}(){
            InitializeComponent();
        }

        private void InitializeComponent() {
            this.Width = 400;
            this.Height = 300;
            this.Text = "My Dialog";
            Button btnOK = new Button();
            btnOK.Text="OK";
            btnOK.Location=new System.Drawing.Point(10,10);
            btnOK.Size=new System.Drawing.Size(80,24);
            this.Controls.Add(btnOK);
            btnOK.Click+=new EventHandler(btnOK_Click);
        }

        private void btnOK_Click(object sender, System.EventArgs e){
            this.DialogResult=DialogResult.OK;
            this.Close();
        }

    }
}]]&gt;
        &lt;/File&gt;
    &lt;/TemplateFiles&gt;

    &lt;FileOptions/&gt;

&lt;/Template&gt;
</pre>
<p>These templates just a simple Form constructor and add a button and a click event handler. You may change the code to your need.</p>
<p>Attached are the complete new files and patch files for Makefile and CSharpBinding.addin.xml and the changed compiled files: <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=127" title="Downloaded 365 times">MonoDevelop 2.4 WinForm Templates</a> -  (Hits: 365, size: 255.45 kB)</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F21%2Fmonodevelop-howto-add-a-winform-project-and-file-template%2F&amp;title=Monodevelop%3A+Howto+add+a+WinForm+project+and+file+template" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F21%2Fmonodevelop-howto-add-a-winform-project-and-file-template%2F&amp;title=Monodevelop%3A+Howto+add+a+WinForm+project+and+file+template" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F21%2Fmonodevelop-howto-add-a-winform-project-and-file-template%2F&amp;title=Monodevelop%3A+Howto+add+a+WinForm+project+and+file+template" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F21%2Fmonodevelop-howto-add-a-winform-project-and-file-template%2F&amp;T=Monodevelop%3A+Howto+add+a+WinForm+project+and+file+template" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F21%2Fmonodevelop-howto-add-a-winform-project-and-file-template%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F21%2Fmonodevelop-howto-add-a-winform-project-and-file-template%2F&amp;t=Monodevelop%3A+Howto+add+a+WinForm+project+and+file+template" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2010/10/21/monodevelop-howto-add-a-winform-project-and-file-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile: Hide StartButton in WinMo 6.5.x</title>
		<link>http://www.hjgode.de/wp/2010/10/11/windows-mobile-hide-startbutton-in-winmo-6-5-x/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-mobile-hide-startbutton-in-winmo-6-5-x</link>
		<comments>http://www.hjgode.de/wp/2010/10/11/windows-mobile-hide-startbutton-in-winmo-6-5-x/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 17:04:01 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[kiosk mode]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[6.5.3]]></category>
		<category><![CDATA[Done Button]]></category>
		<category><![CDATA[HHTaskbar]]></category>
		<category><![CDATA[MenuBar]]></category>
		<category><![CDATA[Softkey]]></category>
		<category><![CDATA[Start Button]]></category>
		<category><![CDATA[TextmodeEnabled]]></category>
		<category><![CDATA[TitleBar]]></category>
		<category><![CDATA[win-mobile-hide-menu-bar]]></category>
		<category><![CDATA[windows mobile]]></category>
		<category><![CDATA[windows-mobile-hide-close-button]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=820</guid>
		<description><![CDATA[Hide Start Button on Windows Mobile 6.5.3 using TextmodeEnabled.]]></description>
			<content:encoded><![CDATA[<p>Here is a very short tip based on a finding at xda-developers.com</p>
<p>For kiosk mode applications you dont want the user access the device settings or the start menu and all the programs and games accessible from there. One step to this kiosk mode is disabling the Start Button, the button that opens a menu to access programs and settings.</p>
<p>In versions of windows mobile before 6.5.3, you could disable access to the start button by subclassing HHTaskbar and discard clicks in the Start button area or simply disable the whole HHTaskbar window.</p>
<p>Now, with windows mobile 6.5.3 the start button is part of the menu bar and no longer part of the taskbar (which is now called MenuBar). To hide the start button on a windows Mobile 6.5.x device you can use following registry change:</p>
<pre>[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\BubbleTiles]
"TextModeEnabled"=dword:00000001
"HardwareStartKeyEnabled"=dword:00000001
"HardwareDoneKeyEnabled"=dword:00000001
</pre>
<p>With this change the &#8220;MenuBar&#8221; will no longer show the Start Button graphic nor the Done button, Windows Mobile will no longer decorate the menu texts . Only two menu entries will now show on bottom of the today screen.</p>
<p>TextModeEnabled switches the display of soft menu entries from the default graphic tiles display to a text only display as it was and is in windows mobile 6.1.</p>
<p>HardwareStartKeyEnabled controls the display of the Start button (the big windows start symbol on the left of the soft menu). If you change to enabled (0&#215;01) you dont get a start button and have to use a key on your keypad to launch the start screen!</p>
<p>HardwareDoneButton controls the display of the Done button at the right of the menu bar (the big (X)). When enabled, you have no chance to close apps that do not have an exit option in there menu, except you have a key on on your keyboard assigned to the Done function! Done now not only hides an app, with winmo 6.5 the app is closed and removed from memory now.</p>
<p><a rel="attachment wp-att-830" href="http://www.hjgode.de/wp/2010/10/11/windows-mobile-hide-startbutton-in-winmo-6-5-x/winmo653textmodeenabled/"><img class="alignnone size-full wp-image-830" title="winmo653textmodeenabled" src="http://www.hjgode.de/wp/wp-content/uploads/2010/10/winmo653textmodeenabled.jpg" alt="" width="208" height="267" /></a> The Start entry at top left corner remains there but is only an indicator.</p>
<p><a rel="attachment wp-att-834" href="http://www.hjgode.de/wp/2010/10/11/windows-mobile-hide-startbutton-in-winmo-6-5-x/textmodeenabled_2/"><img class="alignnone size-thumbnail wp-image-834" title="TextModeEnabled_2" src="http://www.hjgode.de/wp/wp-content/uploads/2010/10/TextModeEnabled_2-112x150.gif" alt="" width="146" height="195" /></a> <a rel="attachment wp-att-833" href="http://www.hjgode.de/wp/2010/10/11/windows-mobile-hide-startbutton-in-winmo-6-5-x/textmodeenabled_3today-home/"><img class="alignnone size-thumbnail wp-image-833" title="TextModeEnabled_3today-home" src="http://www.hjgode.de/wp/wp-content/uploads/2010/10/TextModeEnabled_3today-home-112x150.gif" alt="" width="144" height="194" /></a> <a rel="attachment wp-att-835" href="http://www.hjgode.de/wp/2010/10/11/windows-mobile-hide-startbutton-in-winmo-6-5-x/textmodeenabled_1/"><img class="alignnone size-thumbnail wp-image-835" title="TextModeEnabled_1" src="http://www.hjgode.de/wp/wp-content/uploads/2010/10/TextModeEnabled_1-112x150.gif" alt="" width="143" height="192" /></a></p>
<p>NO more Start Button, No more Done (X) Button</p>
<p><span id="more-820"></span>When you reboot the device, the change will be applied and you will see the Today screen with two menu shortcuts in the menubar at the bottom. On a prof. device this may be (Phone) and (Contacts). These buttons are also called SoftKeys and you can change there behaviour using the registry:</p>
<pre>[HKLM\Software\Microsoft\CHome\SK1URL]
                "Open"= &lt;handling app&gt;
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Today\Keys\112]
                @="&lt;SK label&gt;"
                "Open"= &lt;handling app&gt;
</pre>
<p>(use SK2 for the second softkey)</p>
<p>So you may use these SoftKeys to enable the user to start your Kios application.</p>
<p>You should be aware of that if you dont have a key assigned to VK_LWIN (the Win key), you will never be able to switch to the Start Menu or now called Home Screen!</p>
<p>If an application is started and does not have a Exit menu, you will not be able to get back to the today screen. If you disable the TitleBar (HHTaskbar) you will also not be able to open any of the settings and informations available thru the TitleBar (ie battery status, clock settings, volume settings).</p>
<p>The TitleBar normally will get a &#8220;Start Menu&#8221; entry to the left. But with TextmodeEnabled=1 this will not be the case! So no way back to Today Screen and no way to get to the Start Menu with all the programs or the Home Screen.</p>
<p>Happy kiosk mode coding.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F11%2Fwindows-mobile-hide-startbutton-in-winmo-6-5-x%2F&amp;title=Windows+Mobile%3A+Hide+StartButton+in+WinMo+6.5.x" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F11%2Fwindows-mobile-hide-startbutton-in-winmo-6-5-x%2F&amp;title=Windows+Mobile%3A+Hide+StartButton+in+WinMo+6.5.x" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F11%2Fwindows-mobile-hide-startbutton-in-winmo-6-5-x%2F&amp;title=Windows+Mobile%3A+Hide+StartButton+in+WinMo+6.5.x" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F11%2Fwindows-mobile-hide-startbutton-in-winmo-6-5-x%2F&amp;T=Windows+Mobile%3A+Hide+StartButton+in+WinMo+6.5.x" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F11%2Fwindows-mobile-hide-startbutton-in-winmo-6-5-x%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F11%2Fwindows-mobile-hide-startbutton-in-winmo-6-5-x%2F&amp;t=Windows+Mobile%3A+Hide+StartButton+in+WinMo+6.5.x" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2010/10/11/windows-mobile-hide-startbutton-in-winmo-6-5-x/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Windows Mobile: SetSystemTime and DST, Einstein&#8217;s Relativity Theory?</title>
		<link>http://www.hjgode.de/wp/2010/10/08/windows-mobile-setsystemtime-and-dst-einsteins-relativity-theory/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-mobile-setsystemtime-and-dst-einsteins-relativity-theory</link>
		<comments>http://www.hjgode.de/wp/2010/10/08/windows-mobile-setsystemtime-and-dst-einsteins-relativity-theory/#comments</comments>
		<pubDate>Fri, 08 Oct 2010 18:29:04 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Compact Framework]]></category>
		<category><![CDATA[DST]]></category>
		<category><![CDATA[SetLocalTime]]></category>
		<category><![CDATA[SetSystemTime]]></category>
		<category><![CDATA[Time Sync]]></category>
		<category><![CDATA[timezoneinfo-in-windows-mobile]]></category>
		<category><![CDATA[TimeZoneInformation]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=817</guid>
		<description><![CDATA[SetSystemTime and DST, better disable DST before using SetSystemTime]]></description>
			<content:encoded><![CDATA[<p>Wow, as I first saw this issue, I thought I was facing Einstein&#8217;s Relativity Theory.</p>
<p>The issue is simple to explain:<br />
 1) The WinMo device has a local time and date within DST<br />
 2) You use SetSystemTime to set a new system time and date outside the DST frame<br />
 3) The local time changes but DST is still applied!</p>
<p><span id="more-817"></span></p>
<p>In concrete example:</p>
<pre>GetTimeZoneInformation:
 DaylightSaving-Time:

Bias -60  Daylight-Name: W  Daylight-Bias: -60 Standard-Name: W  Standard-Bias: 0
Standard-Date: 00/10/05 03:00:00, Daylight-Date: 00/03/05 02:00:00

1. Set time inside DST +++++++++++
+++++++++++ TstSetTime ++++++++++++
SetSystemTime:  2010/09/21 10:32:00
GetLocalTime:   2010/09/21 <strong>12:32:00</strong>
GetSystemTime:  2010/09/21 10:32:00

------------ TstSetTime ------------
2. Set time outside DST ----------
+++++++++++ TstSetTime ++++++++++++
SetSystemTime:  2010/10/31 01:50:00
GetLocalTime:   2010/10/31 <strong>03:50:00</strong>
GetSystemTime:  2010/10/31 01:50:00
</pre>
<p>As you can see, local time is 2 hours of, although the data/time is outside DST. You can also see, that the device is in GMT+1 time zone.</p>
<p>Ah, you say this is a known issue. OK, lets do it the microsoft way and Sleep() and set system time again:</p>
<pre>3. SLEEP...
4. Set time outside DST 2nd CALL ----------
+++++++++++ TstSetTime ++++++++++++
SetSystemTime:  2010/10/31 01:50:00
GetLocalTime:   2010/10/31 <strong>02:50:00</strong>
GetSystemTime:  2010/10/31 01:50:00
</pre>
<p>You are right, now the local time is correct.</p>
<p>Ok, not clear but a workaround. Now go on and set time back into DST:</p>
<pre>------------ TstSetTime ------------
5. Set time back inside DST +++++++++++
+++++++++++ TstSetTime ++++++++++++
SetSystemTime:  2010/09/21 10:32:00
GetLocalTime:   2010/09/21 <strong>11:32:00</strong>
GetSystemTime:  2010/09/21 10:32:00
</pre>
<p>Again a fault. This time DST is not applied although the date is within DST frame.</p>
<p>Doing the same in Compact Framework is more worst and you will only get valid results with disabled DST.</p>
<p>The best workaround is to disable DST BEFORE you change the system time and then restore DST after changing the system time.</p>
<p>.Net code snippets:</p>
<pre escaped="true" lang="csharp">        private DateTime startDateTime = DateTime.Parse("2010/9/24 11:42:00");

        [DllImport("coredll.dll", SetLastError = true)]
        static extern Int32 GetLastError();

        [DllImport("coredll.dll", SetLastError = true)]
        static extern bool SetSystemTime(ref SYSTEMTIME time);
        [DllImport("coredll.dll", SetLastError = true)]
        static extern void GetSystemTime(out SYSTEMTIME lpSystemTime);

        [DllImport("coredll.dll")]
        static extern bool SetTimeZoneInformation([In] ref TIME_ZONE_INFORMATION lpTimeZoneInformation);
        [DllImport("coredll.dll", CharSet = CharSet.Auto)]
        private static extern int GetTimeZoneInformation(out TIME_ZONE_INFORMATION lpTimeZoneInformation);

        private const int TIME_ZONE_ID_UNKNOWN = 0;
        private const int TIME_ZONE_ID_STANDARD = 1;
        private const int TIME_ZONE_ID_DAYLIGHT = 2;

        [StructLayoutAttribute(LayoutKind.Sequential)]
        public struct SYSTEMTIME
        {
            public short wYear;
            public short wMonth;
            public short wDayOfWeek;
            public short wDay;
            public short wHour;
            public short wMinute;
            public short wSecond;
            public short wMilliseconds;
        }
        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct TIME_ZONE_INFORMATION
        {
            public int bias;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
            public string standardName;
            public SYSTEMTIME standardDate;
            public int standardBias;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
            public string daylightName;
            public SYSTEMTIME daylightDate;
            public int daylightBias;
        }
...
        private bool disableDST(TIME_ZONE_INFORMATION tzi){
            //set wMonth in standardDate to zero
            SYSTEMTIME stStd;
            stStd=tzi.standardDate;
            stStd.wMonth=0;
            //set wMonth in daylightDate to zero
            SYSTEMTIME stDST;
            stDST=tzi.daylightDate;
            stDST.wMonth=0;

            tzi.daylightDate=stDST;
            tzi.standardDate=stStd;
            bool bRes = SetTimeZoneInformation(ref tzi);
            if (bRes)
                addText("*** Disabling DST OK***");
            else
                addText("*** Disabling DST failed***");
            return bRes;
        }
</pre>
<p>Possibly a good information for all that do TimeSync with a server.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F08%2Fwindows-mobile-setsystemtime-and-dst-einsteins-relativity-theory%2F&amp;title=Windows+Mobile%3A+SetSystemTime+and+DST%2C+Einstein%26%238217%3Bs+Relativity+Theory%3F" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F08%2Fwindows-mobile-setsystemtime-and-dst-einsteins-relativity-theory%2F&amp;title=Windows+Mobile%3A+SetSystemTime+and+DST%2C+Einstein%26%238217%3Bs+Relativity+Theory%3F" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F08%2Fwindows-mobile-setsystemtime-and-dst-einsteins-relativity-theory%2F&amp;title=Windows+Mobile%3A+SetSystemTime+and+DST%2C+Einstein%26%238217%3Bs+Relativity+Theory%3F" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F08%2Fwindows-mobile-setsystemtime-and-dst-einsteins-relativity-theory%2F&amp;T=Windows+Mobile%3A+SetSystemTime+and+DST%2C+Einstein%26%238217%3Bs+Relativity+Theory%3F" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F08%2Fwindows-mobile-setsystemtime-and-dst-einsteins-relativity-theory%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F10%2F08%2Fwindows-mobile-setsystemtime-and-dst-einsteins-relativity-theory%2F&amp;t=Windows+Mobile%3A+SetSystemTime+and+DST%2C+Einstein%26%238217%3Bs+Relativity+Theory%3F" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2010/10/08/windows-mobile-setsystemtime-and-dst-einsteins-relativity-theory/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mobile Development-Using Layout Managers</title>
		<link>http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mobile-development-using-layout-managers</link>
		<comments>http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 06:15:00 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[DotNet]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Landscape]]></category>
		<category><![CDATA[Layout Manager]]></category>
		<category><![CDATA[Portrait]]></category>
		<category><![CDATA[QVGA]]></category>
		<category><![CDATA[Smart Device]]></category>
		<category><![CDATA[VGA]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=660</guid>
		<description><![CDATA[Using layout managers for compact framework apps that are orientation aware]]></description>
			<content:encoded><![CDATA[<p>Hi there</p>
<p>I would like to bring back to mind the advantages of using a layout manager (LM) for your smart device .Net projects.</p>
<p>None of the layout Managers mentioned here are developed by me, I dont have the time to do so, especially, when there are great free solutions on the net.</p>
<p>On full .net framework you have the tablelayout panel where you can place your GUI elements and the elements will be arranged automatically, when the main form is resized.<br />
 OK, on smart devices, there will be less form resizing as mostly the forms are full screen by design (QVGA:240&#215;320 or VGA:480&#215;640) . But what happens to your form design, when the user rotates the screen from portrait to landscape orientation?</p>
<p><a rel="attachment wp-att-686" href="http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/screenshot-dialogtest/"><img class="alignnone size-medium wp-image-686" title="Screenshot-DialogTest" src="http://www.hjgode.de/wp/wp-content/uploads/1999/11/Screenshot-DialogTest-225x300.png" alt="" width="225" height="300" /></a> <a rel="attachment wp-att-687" href="http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/screenshot-dialogtest-1/"><img class="alignnone size-medium wp-image-687" title="Screenshot-DialogTest-1" src="http://www.hjgode.de/wp/wp-content/uploads/1999/11/Screenshot-DialogTest-1-300x225.png" alt="" width="300" height="225" /></a></p>
<p><span id="more-660"></span>Sample Code:</p>
<pre escaped="true" lang="csharp">		public DialogTest2 ()
		{
			int iWidth=240-26;
			int iMaxHeight=320-26-13;
			int iLeft=6;
			this.Size=new Size(240,320);

			TextBox textbox = new TextBox();
			textbox.Multiline=true;
			textbox.Size=new Size(iWidth,180);
			textbox.Top=6;
			textbox.Left=iLeft;

			Button btnExit=new Button();
			btnExit.Text="Back";
			btnExit.Click+=new EventHandler(btnExit_Click);
			btnExit.Top=iMaxHeight-26;
			btnExit.Left=iLeft;
			btnExit.Size=new Size(iWidth,26);
			btnExit.BackColor=Color.Gray;

			Button btnSwitch=new Button();
			btnSwitch.Text="Switch";
			btnSwitch.Click+=new EventHandler(btnSwitch_Click);
			btnSwitch.Top=iMaxHeight-26-26-13;
			btnSwitch.Left=iLeft;
			btnSwitch.Size=new Size(iWidth,26);
			btnSwitch.BackColor=Color.Gray;

			this.Controls.Add(textbox);
			this.Controls.Add(btnSwitch);
			this.Controls.Add(btnExit);

			this.BackColor=Color.Aqua;
			this.Text="DialogTest";
			this.AutoScroll=true;
		}
</pre>
<p>To adjust the positions and sizes of these 3 elements, you would need to change top, left and size property of every element in the forms resize event handler.<br class="spacer_" /></p>
<h3>Positioning and sizing your GUI elements by hand</h3>
<p>Now, you write code for the Form Resize event and set top, left and size of all your GUI elements by hand. That are three statements for every element and again for the two possible orientations. Having only four elements on your form, that will be 24 lines to code! Stupid coding, I thought and remembered the LMs available for JAVA. So I tried to find JAVA-like layout managers for DotNet. First, I did not find any, as the full framework already provides a LM and knowone seems to have a need for writing there own LM. But finally I found three LMs in the internet.</p>
<h2>What is the purpose of a layout manager</h2>
<p>A LM should arrange GUI elements inside a container (a form or dialog) according to some well known layout pattern. Instead of writing many code lines to position and resize your GUI elements, the LM will do this for you and place and size the elements according to the LMs rules. Of course you have to write additional statements to get an automatic layout, but you need only write once and it will work for portrait and landscape orientation.</p>
<h2>Coding</h2>
<p>All the LMs I found work similar. You have to add a container, possibly specify a layout, and then add your GUI elements to the LM.</p>
<h2>The layout of your GUI elements</h2>
<p>There are different layouts available:</p>
<ul>
<li>Flow Layout &#8211; positions GUI elements like written text, from left to right and top to bottom</li>
<li>Table or Grid Layout &#8211; provides a table of cells in rows and columns. Each element is added to the next free cell</li>
<li>Border Layout &#8211; the available space is devided into 5 zones, north, west, center, east and south. You can have one element (also containers with several elements) at each of these locations</li>
</ul>
<h2>The Layout Managers I found</h2>
<ol>
<li>Drop-dead easy LM (<a href="http://www.codeproject.com/KB/miscctrl/RavSoftLayoutManager.aspx?df=100&amp;foru" target="_blank">Link</a>) (no further use here)</li>
<li>Grid Layout (<a href="http://www.koders.com/csharp/fidAA62ACAC4341C6306BA83E8390A69698134049A5.aspx" target="_blank">Link</a>) (no further use here, uses OnLayout)</li>
<li>Single Column FlowLayout (<a href="http://www.java2s.com/Code/CSharp/GUI-Windows-Form/LayoutManager.htm" target="_blank">Link</a>)(no further use here)</li>
<li><strong>Layout Managers in C# (<a href="http://www.csharphelp.com/2005/11/layout-managers-in-c/" target="_blank">Link</a>)(great compact framework compatible LM)</strong></li>
<li>Simple Layout Managers (<a href="http://dotnet.jku.at/projects/slm/" target="_blank">Link</a>)(looks also impressive)</li>
<li>FlowLayoutPanel for CF (<a href="http://junmeng.blogspot.com/2010/02/flowlayoutpanel-for-net-compact.html" target="_blank">Link</a>)(This was the first one I found in the net)</li>
<li>DotNetLayout (SourceForge <a href="http://sourceforge.net/projects/dotnetlayout/" target="_blank">Link</a>)</li>
<li>GridLayout (<a title="Link" href="http://www.hjgode.de// http://dnetgridlayout.sourceforge.net/" target="_blank">Link</a>)<strong>(easy to use GridLayout Manager, I only miss RowSpan feature)</strong></li>
</ol>
<p>Be aware of compact framework does not support OnLayout event. So some of the LMs listed above are not comaptible with CF.</p>
<h2>Sample Codes</h2>
<p><strong>Example 1 using LayoutManagers</strong></p>
<pre escaped="true" line="1" lang="csharp">using System;
using System.Drawing;
using System.Windows.Forms;
using Layout;

namespace PanelTest2
{
    public class DialogTest : Form
    {
        AreaPane panel;
        Button button;
        Button btn_Size;
        TextBox textbox;
        Label label;
        PictureBox picturebox;
        Panel panel1;
        public DialogTest ()
        {
            this.SuspendLayout();
            this.Text="PanelTest";
            panel = new ResizeablePane(this, ClientRectangle, new BorderLayout());
#region north
            Panel panelNorth=new Panel();
            ContainerBox boxNorth=new ContainerBox(panelNorth);

            label=new Label(); label.Name="label";
            label.Text="Label:";
            label.Top=26; label.Left=26;
            label.Size=new Size(100, 26);
            boxNorth.LayoutManager=new GridLayout(1,2);
            boxNorth.Add(label);//, BorderLayout.Direction.East);

            textbox=new TextBox(); textbox.Name="textbox";
            textbox.Left=150; textbox.Top=26;
            textbox.Size=new Size(100, 26);
            boxNorth.Add(textbox);//, BorderLayout.Direction.West);
#endregion
#region south
            Panel panelSouth=new Panel();
            ContainerBox boxSouth=new ContainerBox(panelSouth);

            button= new Button(); button.Name="button";
            button.Location=new Point(26,84);
            button.Size=new Size(52,26);
            button.Text="Exit";
            button.Click+=new System.EventHandler(this.button_clicked);
            btn_Size=new Button(); btn_Size.Name="btn_size";
            btn_Size.Location=new Point(108,84);
            btn_Size.Size=new Size(52,26);
            btn_Size.Text="Resize";
            btn_Size.Click+=new System.EventHandler(this.btn_Size_clicked);

            Button btnTest=new Button();
            btnTest.Text="Test";
            btnTest.Click += new EventHandler(btnTest_Click);

            boxSouth.LayoutManager=new GridLayout(1,3);

            boxSouth.Add(btnTest);
            boxSouth.Add(btn_Size);//, BorderLayout.Direction.East);

            boxSouth.Add(button);//, BorderLayout.Direction.East);
#endregion
#region center
            Panel panelCenter=new Panel();
            ContainerBox boxCenter=new ContainerBox(panelCenter);
            boxCenter.LayoutManager=new GridLayout(1,2);

            panel1=new Panel(); panel1.Name="panel1";
            panel1.BackColor=Color.Pink;
            panel1.Top=26;
            panel1.Left=180;
            panel1.Size=new Size(26,100);

            picturebox=new PictureBox(); picturebox.Name="picturebox";
            picturebox.BackColor=Color.Azure;
            picturebox.ForeColor=Color.Red;
            picturebox.Size=new Size(26,84);
            picturebox.Left=108;
            picturebox.Top=168;

            boxCenter.Add(panel1);
            boxCenter.Add(picturebox);
#endregion
            panel.Add(boxSouth, BorderLayout.Direction.South);
            panel.Add(boxNorth, BorderLayout.Direction.North);
            panel.Add(boxCenter, BorderLayout.Direction.Center);

            this.ResumeLayout(true);
        }
</pre>
<p>The code above will produce this automatic layout:</p>
<p><a rel="attachment wp-att-667" href="http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/screenshot-paneltest-portrait/"><img class="alignnone size-medium wp-image-667" title="Screenshot-PanelTest-portrait" src="http://www.hjgode.de/wp/wp-content/uploads/1999/11/Screenshot-PanelTest-portrait-225x300.png" alt="" width="225" height="300" /></a> <a rel="attachment wp-att-668" href="http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/screenshot-paneltest-landscape/"><img class="alignnone size-medium wp-image-668" title="Screenshot-PanelTest-landscape" src="http://www.hjgode.de/wp/wp-content/uploads/1999/11/Screenshot-PanelTest-landscape-300x225.png" alt="" width="300" height="225" /></a></p>
<p>In the above code all GUI elements are created and sized manually. You can also design your Form with the Form designer in Visual Studio and then add the existing elements to the layout panels. But dont use foreach with the form elements, as the order is reversed or unwanted.</p>
<p>The code sample shows how to use a BorderLayout, panels to group elements and nesting layouts using a different LM like a grid layout.</p>
<p><strong>Example 2 using <a title="GridLayout" href="http://www.hjgode.de// http://dnetgridlayout.sourceforge.net/" target="_blank">GridLayout</a></strong></p>
<pre escaped="true" lang="csharp">...
using LayoutManagers; // <a class="linkification-ext" title="Linkification: http://dnetgridlayout.sourceforge.net/" href="http://dnetgridlayout.sourceforge.net/">http://dnetgridlayout.sourceforge.net/</a>
    public partial class Form1 : Form
    {
        //PanelWithLayout panelWithLayout1;
        TextBox txtBox1;
        TextBox txtBox2;
        Button btnTest;
        public Form1()
        {
            InitializeComponent();
            //Create a layout with 0 rows and 2 columns
            GridLayout myGridlayout = new GridLayout(0, 2, true);

            //the spacing between the elements
            myGridlayout.intHorizontalSpacing = 4;
            //the elements width should fill the column
            myGridlayout.bFillColumn = true;
            myGridlayout.dblRequiredHeight = 26;

            panelWithLayout1.AutoScroll = true;
            panelWithLayout1.setLayout(myGridlayout);

            txtBox1 = new TextBox();
            txtBox1.Width = panelWithLayout1.Width / 2;
            txtBox1.Height = 26;

            txtBox2 = new TextBox();
            txtBox2.Width = panelWithLayout1.Width / 2;
            txtBox2.Height = 26;

            //add a text box (in first row, as long as they fit)
            panelWithLayout1.addControl(txtBox1);

            //add a button
            btnTest = new Button();
            btnTest.Height = 26;
            btnTest.Width = panelWithLayout1.Width / 2;
            btnTest.Text = "Test";
            panelWithLayout1.addControl(btnTest);

            //add the button click event handler
            btnTest.Click += new EventHandler(btnTest_Click);

            //add the existing datagrid1 (see designer) spanning 2 columns
            dataGrid1.Width = panelWithLayout1.Width;
            dataGrid1.Height = <a class="linkification-ext" title="Linkification: http://panelWithLayout1.Height/3" href="http://panelWithLayout1.Height/3">panelWithLayout1.Height/3</a>;
            //add another textbox
            panelWithLayout1.addControl(txtBox2);
        }
...</pre>
<p>Here are the screens of the gridLayout Test</p>
<p><a rel="attachment wp-att-706" href="http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/gridlayout_port/"><img class="alignnone size-medium wp-image-706" title="gridlayout_port" src="http://www.hjgode.de/wp/wp-content/uploads/2010/07/gridlayout_port-225x300.gif" alt="" width="225" height="300" /></a> <a rel="attachment wp-att-707" href="http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/gridlayout_land/"><img class="alignnone size-medium wp-image-707" title="gridlayout_land" src="http://www.hjgode.de/wp/wp-content/uploads/2010/07/gridlayout_land-300x225.gif" alt="" width="300" height="225" /></a></p>
<p>As you can see, this also easy to use.</p>
<p><strong>Example 3 also using GridLayout</strong></p>
<p>This example uses the already available GUI elements of a form designed with VS2005 visual designer. So, this time you dont have to set sizes or positions, just add the existing GUI elements.</p>
<pre lange="csharp" escaped="true">...
        public start_frm()
        {
            InitializeComponent();
            this.SuspendLayout();
            ResizeablePane LayoutPanel = new ResizeablePane(this, ClientRectangle, new GridLayout(0, 1, 4, 4));
            LayoutPanel.Add(btn_barcode);
            LayoutPanel.Add(btn_camera);
            LayoutPanel.Add(btnMSCamera);
            LayoutPanel.Add(btnSignature);
            LayoutPanel.Add(btnExit);
            LayoutPanel.Add(sStatusPos);
            LayoutPanel.Add(status);
            LayoutPanel.Add(lblVersion);
            this.ResumeLayout(true);
...
</pre>
<p>Here is the portrait screen view of the above code:</p>
<p><a rel="attachment wp-att-710" href="http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/screen01-2/"><img class="alignnone size-medium wp-image-710" title="Screen01" src="http://www.hjgode.de/wp/wp-content/uploads/2010/07/Screen01-225x300.jpg" alt="" width="225" height="300" /></a></p>
<p><strong>Conclusion</strong></p>
<p>If you ever need to design GUIs for mobile devices with automatic portrait and landscape switching consider to use one of the Layout Managers available.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F17%2Fmobile-development-using-layout-managers%2F&amp;title=Mobile+Development-Using+Layout+Managers" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F17%2Fmobile-development-using-layout-managers%2F&amp;title=Mobile+Development-Using+Layout+Managers" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F17%2Fmobile-development-using-layout-managers%2F&amp;title=Mobile+Development-Using+Layout+Managers" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F17%2Fmobile-development-using-layout-managers%2F&amp;T=Mobile+Development-Using+Layout+Managers" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F17%2Fmobile-development-using-layout-managers%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F17%2Fmobile-development-using-layout-managers%2F&amp;t=Mobile+Development-Using+Layout+Managers" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2010/07/17/mobile-development-using-layout-managers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu testing maverick netbook daily builds</title>
		<link>http://www.hjgode.de/wp/2010/07/07/ubuntu-testing-maverick-netbook-daily-builds/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ubuntu-testing-maverick-netbook-daily-builds</link>
		<comments>http://www.hjgode.de/wp/2010/07/07/ubuntu-testing-maverick-netbook-daily-builds/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 04:32:30 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[iso]]></category>
		<category><![CDATA[live cd]]></category>
		<category><![CDATA[mount-iso-windows-ce]]></category>
		<category><![CDATA[testdrive]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[zsync]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/2010/07/07/ubuntu-testing-maverick-netbook-daily-builds/</guid>
		<description><![CDATA[Ubuntu Live CD Maverick testdriving with grub on AAO]]></description>
			<content:encoded><![CDATA[<p>Privately I am running an Acer Aspire One D150 (AAO). Although it has Windows XP installed, I did not hesitate to break the partitions and installed first Ubuntu Netbook edition (8.04) and actually updated up to 9.04.</p>
<p>I am always impressed about the great tools available freely for all kinds of usage.</p>
<p>Now Maverick (10.10) Netbook edition will come and I like to test it from time to time but without burning CDs, creating bootable USB sticks. So I stumbled about testdrive. Although this a great tool, it was not able to run the daily build iso inside virtualbox on the AAO.</p>
<p>I remembered that grub should be able to mount iso and start the AAO from that iso. Now I able to test maverick daily builds without touching my well running ubuntu. I can do updates to the iso using zsync and can start, run and test maverick with acceptable performance.</p>
<p><span id="more-656"></span></p>
<p><span style="text-decoration: underline;">Prerequisite</span></p>
<p>I copied the iso to /fromiso and extracted vmlinuz and initrd.lz from the iso and placed these two files in /fromiso. To run a daily update I created a script to do it automatically:</p>
<pre>#!/bin/sh
cd /fromiso
zsync <a class="linkification-ext" title="Linkification: http://cdimage.ubuntu.com/ubuntu-netbook/daily-live/current/maverick-netbook-i386.iso.zsync" href="http://cdimage.ubuntu.com/ubuntu-netbook/daily-live/current/maverick-netbook-i386.iso.zsync">http://cdimage.ubuntu.com/ubuntu-netbook/daily-live/current/maverick-netbook-i386.iso.zsync</a>
# extract boot files
echo "#### mounting iso"
sudo mount -o loop /fromiso/maverick-netbook-i386.iso /mnt/iso
ls -l /fromiso
echo "#### copy initrd.lz"
cp /mnt/iso/casper/initrd.lz /fromiso/initrd.lz
echo "#### copy vmlinuz"
cp /mnt/iso/casper/vmlinuz /fromiso/vmlinuz
ls -l /fromiso
echo "#### unmounting iso"
sudo umount /mnt/iso
echo "#### finished"
</pre>
<p><span style="text-decoration: underline;">GRUB</span></p>
<p>I added one menu entry in my /boot/grub/menu.lst:</p>
<pre># Test iso
title       Maverick Daily i386 (from ISO)
kernel (hd0,5)/fromiso/vmlinuz iso-scan/filename=/fromiso/maverick-netbook-i386.iso boot=casper quiet splash
initrd (hd0,5)/fromiso/initrd.lz
</pre>
<p>Now, when I boot the netbook, I can select this entry from grub menu and start a maverick daily build.</p>
<p>I am always impressed what is possible with free tools in Ubuntu and all the great linux community.</p>
<p>THANKS to all community developers</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F07%2Fubuntu-testing-maverick-netbook-daily-builds%2F&amp;title=Ubuntu+testing+maverick+netbook+daily+builds" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F07%2Fubuntu-testing-maverick-netbook-daily-builds%2F&amp;title=Ubuntu+testing+maverick+netbook+daily+builds" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F07%2Fubuntu-testing-maverick-netbook-daily-builds%2F&amp;title=Ubuntu+testing+maverick+netbook+daily+builds" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F07%2Fubuntu-testing-maverick-netbook-daily-builds%2F&amp;T=Ubuntu+testing+maverick+netbook+daily+builds" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F07%2Fubuntu-testing-maverick-netbook-daily-builds%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2010%2F07%2F07%2Fubuntu-testing-maverick-netbook-daily-builds%2F&amp;t=Ubuntu+testing+maverick+netbook+daily+builds" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2010/07/07/ubuntu-testing-maverick-netbook-daily-builds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

