<?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; remote desktop mobile</title>
	<atom:link href="http://www.hjgode.de/wp/tag/remote-desktop-mobile/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>Mobile Developement &#8211; RDP AutoLogin extended (version 4)</title>
		<link>http://www.hjgode.de/wp/2012/01/03/mobile-developement-rdp-autologin-extended-version-4/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mobile-developement-rdp-autologin-extended-version-4</link>
		<comments>http://www.hjgode.de/wp/2012/01/03/mobile-developement-rdp-autologin-extended-version-4/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 13:53:56 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[rdp]]></category>
		<category><![CDATA[remote desktop mobile]]></category>
		<category><![CDATA[windows mobile]]></category>
		<category><![CDATA[Windows Mobile 6]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=1299</guid>
		<description><![CDATA[Hello on the wish of the one or other user I extended the RDP AutoLogin code and we now reached level 4. The new code simply has only one extension, it supports the color depth selection. Also the color depth and other settings are visible on the dialog of Remote Desktop Mobile, the settings itself [...]]]></description>
			<content:encoded><![CDATA[<p>Hello</p>
<p>on the wish of the one or other user I extended the RDP AutoLogin code and we now reached level 4.</p>
<p>The new code simply has only one extension, it supports the color depth selection. Also the color depth and other settings are visible on the dialog of Remote Desktop Mobile, the settings itself are done via the Default.rdp file. But you are right, RDP_AutoLogin also controls some of the dialog items directly.</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="text" style="font-family:monospace;"><ol><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1">Domain:s:</div></li><li class="li1"><div class="de1">ColorDepthID:i:3</div></li><li class="li1"><div class="de1">ScreenStyle:i:0</div></li><li class="li1"><div class="de1">DesktopWidth:i:640</div></li><li class="li1"><div class="de1">DesktopHeight:i:480</div></li><li class="li1"><div class="de1">UserName:s:rdesktop</div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1">ServerName:s:192.168.128.5</div></li><li class="li1"><div class="de1">SavePassword:i:1</div></li><li class="li1"><div class="de1">...</div></li></ol></pre></div></div>
<p>The color depth setting supports two modes, 8 Bit with 256b colors (ColorDepthID:i:1) and 16 Bit with ~65000 colors (ColorDepthID:i:3).</p>
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" 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_2" onClick="javascript:wpsh_print(2)" 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_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="reg" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="geshi_registry_header">REGEDIT4</span></div></li><li class="li1"><div class="de1">&nbsp;</div></li><li class="li1"><div class="de1"><span class="br0">&#91;</span><span class="kw3">HKEY_LOCAL_MACHINE</span>\Software\RDP_autologin<span class="br0">&#93;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;FitToScreen&quot;</span><span class="sy0">=</span><span class="st0">&quot;1&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;FullScreen&quot;</span><span class="sy0">=</span><span class="st0">&quot;1&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;Status&quot;</span><span class="sy0">=</span><span class="st0">&quot;connecting...&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;Save Password&quot;</span><span class="sy0">=</span><span class="st0">&quot;1&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;Domain&quot;</span><span class="sy0">=</span><span class="st0">&quot;&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;Password&quot;</span><span class="sy0">=</span><span class="st0">&quot;Intermec+2004&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;Username&quot;</span><span class="sy0">=</span><span class="st0">&quot;rdesktop&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;Computer&quot;</span><span class="sy0">=</span><span class="st0">&quot;192.168.0.130&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;DesktopWidth&quot;</span><span class="sy0">=</span>640</div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;DesktopHeight&quot;</span><span class="sy0">=</span>480</div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;startOnExit&quot;</span><span class="sy0">=</span><span class="st0">&quot;\\rdp_keepBusy.exe&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;execargs&quot;</span><span class="sy0">=</span><span class="st0">&quot;noRDPstart&quot;</span></div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;UseMouseClick&quot;</span><span class="sy0">=</span>&quot;0&quot;	//added with version 3 to switch between mouse and keyboard simulation</div></li><li class="li1"><div class="de1"><span class="geshi_variable">&quot;ColorDepth&quot;</span><span class="sy0">=</span>1		//added with version 4 to enable switching between 8 and 16 Bit colors</div></li></ol></pre></div></div>
<p>The code changes are small. Some code addition to read the value from the registry and some to write the rdp file:</p>
<div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)" 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_3" onClick="javascript:wpsh_print(3)" 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_3" class="wp-synhighlighter-inner" style="display: block;"><pre class="cpp" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="kw4">void</span> readReg<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1">        <span class="co1">//ColorDepth new with version 4</span></div></li><li class="li1"><div class="de1">        <span class="kw1">if</span><span class="br0">&#40;</span>RegReadDword<span class="br0">&#40;</span>L<span class="st0">&quot;ColorDepth&quot;</span>, <span class="sy3">&amp;</span>dwTemp<span class="br0">&#41;</span> <span class="sy1">==</span> 0<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">            dwColorDepth<span class="sy1">=</span>dwTemp<span class="sy4">;</span></div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li><li class="li1"><div class="de1"><span class="kw4">void</span> writeRDP<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1">			<span class="kw1">else</span> <span class="kw1">if</span><span class="br0">&#40;</span>wcsstr<span class="br0">&#40;</span>rdpLines<span class="br0">&#91;</span>c<span class="br0">&#93;</span>.<span class="me1">line</span>, L<span class="st0">&quot;ColorDepthID&quot;</span><span class="br0">&#41;</span><span class="sy3">!</span><span class="sy1">=</span><span class="kw2">NULL</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li><li class="li1"><div class="de1">				wsprintf<span class="br0">&#40;</span>szTemp, rdpLines<span class="br0">&#91;</span>c<span class="br0">&#93;</span>.<span class="me1">line</span>, dwColorDepth<span class="br0">&#41;</span><span class="sy4">;</span>  <span class="co1">//3=HighColor(16Bit) or 1=(8Bit) color</span></div></li><li class="li1"><div class="de1">			<span class="br0">&#125;</span></div></li><li class="li1"><div class="de1">...</div></li><li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li></ol></pre></div></div>
<p>Additionally I have added a new project to the solution to enable to set all the settings not only via the registry but using a GUI application. RDP_Autologin_Settings is born:</p>
<p><span id="more-1299"></span></p>
<p><a href="http://www.hjgode.de/wp/2012/01/03/mobile-developement-rdp-autologin-extended-version-4/clipboard01-2/" rel="attachment wp-att-1300"><img class="alignnone size-full wp-image-1300" title="Clipboard01" src="http://www.hjgode.de/wp/wp-content/uploads/2012/01/Clipboard01.gif" alt="" width="240" height="320" /></a>  <a href="http://www.hjgode.de/wp/2012/01/03/mobile-developement-rdp-autologin-extended-version-4/clipboard02-2/" rel="attachment wp-att-1301"><img class="alignnone size-full wp-image-1301" title="Clipboard02" src="http://www.hjgode.de/wp/wp-content/uploads/2012/01/Clipboard02.gif" alt="" width="240" height="320" /></a> <a href="http://www.hjgode.de/wp/2012/01/03/mobile-developement-rdp-autologin-extended-version-4/clipboard03/" rel="attachment wp-att-1302"><img class="alignnone size-full wp-image-1302" title="Clipboard03" src="http://www.hjgode.de/wp/wp-content/uploads/2012/01/Clipboard03.gif" alt="" width="240" height="320" /></a><a href="http://www.hjgode.de/wp/2012/01/03/mobile-developement-rdp-autologin-extended-version-4/clipboard04/" rel="attachment wp-att-1303"> <img class="alignnone size-full wp-image-1303" title="Clipboard04" src="http://www.hjgode.de/wp/wp-content/uploads/2012/01/Clipboard04.gif" alt="" width="240" height="320" /></a></p>
<p>As you see, there is also a small file browser integrated. The default OpenFile dialog of Compact Framework does not allow you to browse all directories, but only &#8220;\My Documents&#8221;.</p>
<p>RDP AutoLogin Settings Editor (exe): <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=150" title="Downloaded 36 times">RDP AutoLogin Settings editor</a> -  (Hits: 36, size: 10.45 kB)<br />
source (Visual Studio 2008 WM5 SDK project): <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=151" title="Downloaded 29 times">RDP AutoLogin Settings editor Source Code</a> -  (Hits: 29, size: 21.23 kB)</p>
<p>RDP_AutoLogin (exe): <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=152" title="Downloaded 31 times">RDP AutoLogin Executable</a> -  (Hits: 31, size: 6.78 kB)<br />
source (Visual Studio 2008 WM5 SDK project): <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=153" title="Downloaded 27 times">RDP AutoLogin Source Code</a> -  (Hits: 27, size: 56.85 kB)</p>
<p>RDP_KeepBusy (exe): <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=155" title="Downloaded 24 times">RDP KeepBusy (executable)</a> -  (Hits: 24, size: 3.17 kB)<br />
RDP_KeepBusy (vs2008 WM5 SDK project): <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=154" title="Downloaded 28 times">RDP KeepBusy Source Code</a> -  (Hits: 28, size: 12.92 kB)</p>
<p>Have fun</p>
<p>Josef</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%2F2012%2F01%2F03%2Fmobile-developement-rdp-autologin-extended-version-4%2F&amp;title=Mobile+Developement+%26%238211%3B+RDP+AutoLogin+extended+%28version+4%29" 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%2F2012%2F01%2F03%2Fmobile-developement-rdp-autologin-extended-version-4%2F&amp;title=Mobile+Developement+%26%238211%3B+RDP+AutoLogin+extended+%28version+4%29" 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%2F2012%2F01%2F03%2Fmobile-developement-rdp-autologin-extended-version-4%2F&amp;title=Mobile+Developement+%26%238211%3B+RDP+AutoLogin+extended+%28version+4%29" 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%2F2012%2F01%2F03%2Fmobile-developement-rdp-autologin-extended-version-4%2F&amp;T=Mobile+Developement+%26%238211%3B+RDP+AutoLogin+extended+%28version+4%29" 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%2F2012%2F01%2F03%2Fmobile-developement-rdp-autologin-extended-version-4%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%2F2012%2F01%2F03%2Fmobile-developement-rdp-autologin-extended-version-4%2F&amp;t=Mobile+Developement+%26%238211%3B+RDP+AutoLogin+extended+%28version+4%29" 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/2012/01/03/mobile-developement-rdp-autologin-extended-version-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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_4" class="wp-synhighlighter-outer"><div id="wpshdt_4" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_4"></a><a id="wpshat_4" class="wp-synhighlighter-title" href="#codesyntax_4"  onClick="javascript:wpsh_toggleBlock(4)" title="Click to show/hide code block">Source code</a></td><td align="right"><a href="#codesyntax_4" onClick="javascript:wpsh_code(4)" 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_4" onClick="javascript:wpsh_print(4)" 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_4" 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 245 times">wpctsc.exe with major subsystem version number = 4</a> -  (Hits: 245, 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>WM 6.5: Remote Desktop Client disconnects after 10 minutes</title>
		<link>http://www.hjgode.de/wp/2011/07/04/wm-6-5-remote-desktop-client-disconnects-after-10-minutes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wm-6-5-remote-desktop-client-disconnects-after-10-minutes</link>
		<comments>http://www.hjgode.de/wp/2011/07/04/wm-6-5-remote-desktop-client-disconnects-after-10-minutes/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 12:15:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Int*rm*c]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[10 minutes]]></category>
		<category><![CDATA[disconnect]]></category>
		<category><![CDATA[idle time]]></category>
		<category><![CDATA[RDM]]></category>
		<category><![CDATA[rdp]]></category>
		<category><![CDATA[remote desktop mobile]]></category>
		<category><![CDATA[windows embedded handheld]]></category>
		<category><![CDATA[windows mobile]]></category>
		<category><![CDATA[wpctsc.exe]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=1157</guid>
		<description><![CDATA[Hi as MS does not change it, the Remote Desktop Mobile application still disconnects a session after 10 minutes idle time. Although there is a solution for Windows Mobile 6.1 (http://www.hjgode.de/wp/2009/09/18/wm6-1-remote-desktop-client-disconnects-after-10-minutes/) based on the posting of Rafael (MS Support), this will not work with Windows Embedded Handheld (WM6.5). The TSSHELLWND will not react on mouse_event [...]]]></description>
			<content:encoded><![CDATA[<p>Hi</p>
<p>as MS does not change it, the Remote Desktop Mobile application still disconnects a session after 10 minutes idle time.</p>
<p>Although there is a solution for Windows Mobile 6.1 (http://www.hjgode.de/wp/2009/09/18/wm6-1-remote-desktop-client-disconnects-after-10-minutes/) based on the posting of Rafael (MS Support), this will not work with Windows Embedded Handheld (WM6.5).</p>
<p>The TSSHELLWND will not react on mouse_event and you have to replace the calls by SendMessage and send the WM_MOUSEMOVE to the Terminal Server Input window.</p>
<p>The attached application will do so but it will start only on Int*rm*c devices. It sends a mouse_move message all 4 minutes to the TS input window and so the idle timer will not timeout.</p>
<p>If you ever need to stop RDMKeepbusy from running in the background, you will need StopKeepBusy which is part of the executable download.</p>
<p>For visual control, RDMKeepbusy shows a small blinking line in the task bar:<br />
green = Remote Desktop window found and input window is active<br />
yellow = Remote Desktop window found, but no input window active<br />
red = Remote Desktop window not found</p>
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=139" title="Downloaded 122 times">RDM Keepbusy</a> - Windows Embedded Handheld application to avoid idle timeouts (Hits: 122, size: 8.07 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%2F07%2F04%2Fwm-6-5-remote-desktop-client-disconnects-after-10-minutes%2F&amp;title=WM+6.5%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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%2F07%2F04%2Fwm-6-5-remote-desktop-client-disconnects-after-10-minutes%2F&amp;title=WM+6.5%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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%2F07%2F04%2Fwm-6-5-remote-desktop-client-disconnects-after-10-minutes%2F&amp;title=WM+6.5%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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%2F07%2F04%2Fwm-6-5-remote-desktop-client-disconnects-after-10-minutes%2F&amp;T=WM+6.5%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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%2F07%2F04%2Fwm-6-5-remote-desktop-client-disconnects-after-10-minutes%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%2F07%2F04%2Fwm-6-5-remote-desktop-client-disconnects-after-10-minutes%2F&amp;t=WM+6.5%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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/07/04/wm-6-5-remote-desktop-client-disconnects-after-10-minutes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mobile Development: a native remote desktop client (rdesktop port win32)</title>
		<link>http://www.hjgode.de/wp/2010/11/20/mobile-development-a-native-remote-desktop-client-rdesktop-port-win32/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mobile-development-a-native-remote-desktop-client-rdesktop-port-win32</link>
		<comments>http://www.hjgode.de/wp/2010/11/20/mobile-development-a-native-remote-desktop-client-rdesktop-port-win32/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 06:51:47 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Int*rm*c]]></category>
		<category><![CDATA[kiosk mode]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[mstsc]]></category>
		<category><![CDATA[rdesktop]]></category>
		<category><![CDATA[rdesktop-ce]]></category>
		<category><![CDATA[rdp]]></category>
		<category><![CDATA[rdp_autologin]]></category>
		<category><![CDATA[remote desktop mobile]]></category>
		<category><![CDATA[terminal service client]]></category>
		<category><![CDATA[tsc]]></category>
		<category><![CDATA[win32]]></category>
		<category><![CDATA[windows mobile]]></category>
		<category><![CDATA[wpctsc.exe]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=899</guid>
		<description><![CDATA[A native rdesktop port for windows ce and windows mobile to replace Remote Desktop Mobile]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: medium;"><strong>The famous <a href="http://sourceforge.net/projects/rdesktop/" target="_blank">rdesktop</a> running natively on windows ce and windows mobile</strong></span></p>
<h2>Intro and Background</h2>
<p>Some times ago I found that <a href="http://osdir.com/ml/network.rdesktop.user/2006-04/msg00004.html">message of Jay Sorg</a> and retrieved a copy of his code for a native <a href="http://sourceforge.net/projects/rdesktop/" target="_blank">rdesktop</a> win32 version.  I played a little and got the code compile with Visual Studio 2005 with the Windows Mobile SDK.</p>
<p>I tried to implement windows clipboard support to enhance the transfer of texts between the client and server, but unfortunately I was not successful yet. Hopefully someone jumps in and helps enhancing the code and adds some features.</p>
<p>Rdesktop is open source and you can go with the wince implementation here, but if it does not work for you, you have either change the code yourself (and publish it) or find someone that is able to do for you.</p>
<p>There is a template uiports/xxxwin.c in the actual rdesktop source you can use as a starter to compile the actual rdesktop version for windows mobile if you manage to get all the dependencies to work. If you success, forget this post and go with this version (maybe you leave me a note?).</p>
<p><a rel="attachment wp-att-900" href="http://www.hjgode.de/wp/2010/11/20/mobile-development-a-native-remote-desktop-client-rdesktop-port-win32/screenshot01/"><img class="alignnone size-medium wp-image-900" title="ScreenShot01" src="http://www.hjgode.de/wp/wp-content/uploads/2010/11/ScreenShot01-225x300.gif" alt="" width="225" height="300" /></a></p>
<h2>Why another Remote Desktop/Terminal Server Client?</h2>
<p><span id="more-899"></span>The Windows Mobile Remote Desktop Client (or Remote Desktop Mobile, RDM) lacks some useful features available in the Windows CE version or the Desktop Windows version:</p>
<ul>
<li>No automated login</li>
<li>No kiosk mode</li>
<li>Function keys are not sent to server</li>
<li>&#8230;</li>
</ul>
<p>The first item is essential if you like to start a Terminal Server session without user intervention.</p>
<p>The second item is important for using RDM in a production environment.</p>
<p>The third item is useful to run applications on the Terminal Server (TS) that use Function keys.</p>
<h2>Commercial RDM</h2>
<p>There are some commercial remote desktop clients available for windows mobile:</p>
<ul>
<li><a href="http://www.mochasoft.dk/rd.htm">Mochasoft RDP client</a><br />
 &#8220;Windows 200x servers and terminal servers are not supported, as to a Microsoft patent license.&#8221;</li>
<li><a href="http://www.zatelnet.com/zadesktop/main.php">zaDesktop</a><br />
 This is currently in an early state.</li>
<li><a href="http://forum.xda-developers.com/showthread.php?t=292895">RDP Finster</a><br />
 Not really clear where this comes from. </li>
</ul>
<p>I assume some of the commercials are either using mstscax or rdesktop code. Some time ago MS published the <a href="http://msdn.microsoft.com/en-us/library/cc240445%28PROT.10%29.aspx">RDP documentation</a>. Maybe the commercial apps did start from there. Going with the TSC COM library mststcax would be great, but who has the doc for this? For desktop PCs it is documented but not for windows mobile. If someone has a doc to this leave me a note. Then we can start to write a TSC around this library.</p>
<p>There are also some rewritten TSC for the desktop not using mstscax. One is called ProperJavaRDP and maybe a good starting point to rewrite a dotnet based native TSC for windows mobile.</p>
<h2>Usage of the free opensource rdesktop-ce</h2>
<p>You can start winrdesktop on windows mobile either with an ini file or with command line arguments:</p>
<h3>Sample winrdesktop.ini</h3>
<p>(place either in program dir or in root)</p>
<pre>[main]
server=<em>192.168.128.5</em>
port=<em>3389</em>
username=<em>YourUserName</em>
password=<em>YourPassword</em>
bpp=<em>16</em>
geometry=<em>1024x768</em>
#fullscreen
</pre>
<p>server : provide the server IP or DNS host name<br />
 port : provide the port to use for RDP, usually 3389<br />
 username : provide the login user name for the terminal client session<br />
 password : provide the password of the user<br />
 bpp : define the bits per pixel to be used (number of colors per pixel)<br />
 geometry : define the size of the remote desktop window width x height An application to be used on windows mobile devices should match the screen size of the device. For example 240&#215;320 (QVGA). Otherwise the user has to scroll the window to get access to all of the remote screen.<br />
 fullscreen : <span style="text-decoration: line-through;">currently not supported</span></p>
<hr />
<h3>UPDATE 23. nov 2010:</h3>
<p>fullscreen now supported. Fullscreen will switch rdesktop to not show a caption and no menu bar. If geometry matches the device&#8217;s screen size, there will also be no scrollbars.</p>
<p><a rel="attachment wp-att-914" href="http://www.hjgode.de/wp/2010/11/20/mobile-development-a-native-remote-desktop-client-rdesktop-port-win32/screenshotfullscreen/"><img class="alignnone size-medium wp-image-914" title="ScreenShotFullscreen" src="http://www.hjgode.de/wp/wp-content/uploads/2010/11/ScreenShotFullscreen-225x300.gif" alt="" width="225" height="300" /></a></p>
<p>This screenshot was taken of an app I wrote running on a Windows 2003 server of a QVGA device with following winrdesktop.ini:</p>
<pre>[main]
server=192.168.128.5
port=3389
username=rdesktop
password=rdesktop
bpp=16
geometry=240x320
fullscreen
</pre>
<hr />
<h2>Rdesktop usage</h2>
<h3>Command line</h3>
<pre>WinRDesktop [-g widthxheight] [-t port] [-a bpp]
    [-f] [-u username] [-p password] [-d domain]
    [-s shell] [-c working directory] [-n host name]
    server-name-or-ip
</pre>
<p>options are the same as in winrdesktop.ini plus:</p>
<pre>-d <em>domain</em> : specify the domain of the user login
-s <em>shell</em> : define a shell to use on TSC
-c <em>working directory</em> : define a working directory for the session
-n <em>host name</em> : specify the host name to use for the client (visible on TSC)
</pre>
<h2>Restrictions of current code</h2>
<p>See <a href="http://code.google.com/p/rdesktop-ce/issues/list?thanks=2&amp;ts=1290249303" target="_blank">googlecode issues</a> for a list of known restrictions.</p>
<h2>Downloads</h2>
<p><a href="http://code.google.com/p/rdesktop-ce/downloads/list">Windows Mobile Executable and INI sample file at googlecode</a><br />
 Source code: see <a href="http://code.google.com/p/rdesktop-ce/source/checkout">googlecode</a></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%2F11%2F20%2Fmobile-development-a-native-remote-desktop-client-rdesktop-port-win32%2F&amp;title=Mobile+Development%3A+a+native+remote+desktop+client+%28rdesktop+port+win32%29" 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%2F11%2F20%2Fmobile-development-a-native-remote-desktop-client-rdesktop-port-win32%2F&amp;title=Mobile+Development%3A+a+native+remote+desktop+client+%28rdesktop+port+win32%29" 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%2F11%2F20%2Fmobile-development-a-native-remote-desktop-client-rdesktop-port-win32%2F&amp;title=Mobile+Development%3A+a+native+remote+desktop+client+%28rdesktop+port+win32%29" 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%2F11%2F20%2Fmobile-development-a-native-remote-desktop-client-rdesktop-port-win32%2F&amp;T=Mobile+Development%3A+a+native+remote+desktop+client+%28rdesktop+port+win32%29" 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%2F11%2F20%2Fmobile-development-a-native-remote-desktop-client-rdesktop-port-win32%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%2F11%2F20%2Fmobile-development-a-native-remote-desktop-client-rdesktop-port-win32%2F&amp;t=Mobile+Development%3A+a+native+remote+desktop+client+%28rdesktop+port+win32%29" 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/11/20/mobile-development-a-native-remote-desktop-client-rdesktop-port-win32/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Automated Login for Remote Desktop Mobile II</title>
		<link>http://www.hjgode.de/wp/2010/06/23/automated-login-for-remote-desktop-mobile-ii/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=automated-login-for-remote-desktop-mobile-ii</link>
		<comments>http://www.hjgode.de/wp/2010/06/23/automated-login-for-remote-desktop-mobile-ii/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 08:00:12 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[mstsc]]></category>
		<category><![CDATA[rdp]]></category>
		<category><![CDATA[rdp_autologin]]></category>
		<category><![CDATA[remote desktop mobile]]></category>
		<category><![CDATA[terminal service client]]></category>
		<category><![CDATA[tsc]]></category>
		<category><![CDATA[windows mobile]]></category>
		<category><![CDATA[wpctsc.exe]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=534</guid>
		<description><![CDATA[Tool to have Remote Desktop Mobile login automatically to a terminal server]]></description>
			<content:encoded><![CDATA[<p><strong>Update 18. nov 2011</strong>: fixed some bugs, as mentioned by Patrick S. (great to see, that some take and use the code):</p>
<ul>
<li>screen_width and height for WriteRDP()</li>
<li>read FitToScreen from reg in readReg()</li>
<li>check for already running process of startOnExit in startTSC(). Although I think check for running a process multiple times should be done in the target process.</li>
</ul>
<p><strong>Update 16. may 2011:</strong> converted code for VS2008(windows mobile 6 sdk), see Downloads at bottom</p>
<p><strong>UPDATE 23 june 2010</strong>: new registry option to switch between MouseClick and Keyboard simulation:</p>
<pre>REGEDIT4
[HKEY_LOCAL_MACHINE\Software\RDP_autologin]
"FitToScreen"="1"
"FullScreen"="1"
"Status"="connecting..."
"Save Password"="1"
"Domain"=""
"Password"="Intermec+2004"
"Username"="rdesktop"
"Computer"="192.168.0.130"
"DesktopWidth"=640
"DesktopHeight"=480
"startOnExit"="\rdp_keepBusy.exe"
"execargs"="noRDPstart"
"<strong>UseMouseClick"="0"</strong>    //added with version 3 to switch between mouse and keyboard simulation</pre>
<p>&nbsp;</p>
<p>Some days ago I published my RDP_Autologin code: <a href="http://www.hjgode.de/wp/2010/01/21/automated-login-for-remote-desktop-mobile/">RDP_Autologin</a></p>
<p>As there were some screen metrics hardcoded and more and more devices come with a VGA screen the hardcoded QVGA values will not match. So I extended the first version and implemented some additional logic and settings.</p>
<p><span id="more-534"></span></p>
<p>First, the emulated screen tap has been adjusted to depend on the device screen width and height. For that I included the HIRES_AWARE resource to get the real screen size.</p>
<pre>...
	DWORD dX = (0xFFFF / iScreenWidth) * (80); // changed from 13 to width=240, 1/3=80
	DWORD dY = (0xFFFF / iScreenHeight) * (iScreenHeight - 13);
...
BOOL getScreenSize(){
	int iScreenX = GetSystemMetrics(SM_CXSCREEN);
	int iScreenY = GetSystemMetrics(SM_CYSCREEN);
	DEBUGMSG(1, (L"\ngetScreenSize: x=%i, y=%i\n", iScreenX, iScreenY));
	if(iScreenX&gt;0)
		iScreenWidth=iScreenX;
	if(iScreenY&gt;0)
		iScreenHeight=iScreenY;
	if(iScreenX+iScreenY &gt; 0){
		_itow(iScreenWidth, sScreenWidth, 10);
		_itow(iScreenHeight, sScreenHeight, 10);
		return TRUE;
	}
	else
		return FALSE;
}
...</pre>
<p>The rdp file defaults for desktop width and height will also be calculated but you can set the default to use via the registry.</p>
<pre>REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\RDP_autologin]
<strong>"startOnExit"="\Windows\rdp_keepbusy.exe" "DesktopHeight"=dword:000001E0 "DesktopWidth"=dword:00000280</strong>
"Computer"="192.168.0.2"
"FitToScreen"="0"
"FullScreen"="0"
"Username"="rdesktop"
"Password"="xxxx"
"Domain"=""
"Save Password"="1"
"Status"="connecting..."</pre>
<p>As you can see, I added a line where you can specify an application that will be started at the end of the autoconnect process: startOnExit.</p>
<p>Downloads:</p>
<p>evc4 source code: <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=94" title="Downloaded 379 times">rdp autologin 2 evc4 source code</a> -  (Hits: 379, size: 113.37 KB)</p>
<p>Armv4i executable: <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=95" title="Downloaded 404 times">rdp autologin 2 Armv4i executable</a> -  (Hits: 404, size: 6.47 KB)</p>
<p>NEW: Version 3 adds new option to let the app use MouseClick or Keyboard Simulation</p>
<p><strong>Update 18. nov 2011:</strong> <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=146" title="Downloaded 47 times">Updated rdp_auologin (screen_width/height)</a> -  (Hits: 47, size: 159.78 kB)</p>
<p>Exe File (ArmV4i) <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=105" title="Downloaded 339 times">RDP Autologin Version 3</a> - New version with Mouse or Keyboard simulation switch in registry:
UseMouseClick=DWORD 0/1 (Hits: 339, size: 6.56 kB)</p>
<p>eVC4 source code <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=106" title="Downloaded 200 times">RDP AutoLogin version 3 source code</a> - eVC4 source code for my RDP_AutoLogin version 3 (Hits: 200, size: 131.73 kB)</p>
<p>NEW: VS2008 code and exe <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=138" title="Downloaded 136 times">RDPautologin Visual Studio 2008 code (and Release\\exe)</a> -  (Hits: 136, size: 144.01 kB)</p>
<p>Update 4.march 2011: Please also see http://blogs.msdn.com/b/raffael/archive/2009/09/11/remote-desktop-mobile-rdp-client-disconnects-after-10-minutes-of-inactivity.aspx about idle timeout</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%2F2010%2F06%2F23%2Fautomated-login-for-remote-desktop-mobile-ii%2F&amp;title=Automated+Login+for+Remote+Desktop+Mobile+II" 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%2F06%2F23%2Fautomated-login-for-remote-desktop-mobile-ii%2F&amp;title=Automated+Login+for+Remote+Desktop+Mobile+II" 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%2F06%2F23%2Fautomated-login-for-remote-desktop-mobile-ii%2F&amp;title=Automated+Login+for+Remote+Desktop+Mobile+II" 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%2F06%2F23%2Fautomated-login-for-remote-desktop-mobile-ii%2F&amp;T=Automated+Login+for+Remote+Desktop+Mobile+II" 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%2F06%2F23%2Fautomated-login-for-remote-desktop-mobile-ii%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%2F06%2F23%2Fautomated-login-for-remote-desktop-mobile-ii%2F&amp;t=Automated+Login+for+Remote+Desktop+Mobile+II" 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/06/23/automated-login-for-remote-desktop-mobile-ii/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Automated Login for Remote Desktop Mobile</title>
		<link>http://www.hjgode.de/wp/2010/01/21/automated-login-for-remote-desktop-mobile/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=automated-login-for-remote-desktop-mobile</link>
		<comments>http://www.hjgode.de/wp/2010/01/21/automated-login-for-remote-desktop-mobile/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 16:44:37 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Keyboard]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[automate]]></category>
		<category><![CDATA[keybd_event]]></category>
		<category><![CDATA[mouse_event]]></category>
		<category><![CDATA[rdp]]></category>
		<category><![CDATA[remote desktop mobile]]></category>
		<category><![CDATA[SetWindowText]]></category>
		<category><![CDATA[terminal service client]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=273</guid>
		<description><![CDATA[Automate windows and dialogs and mouse clicks on Windows Mobile]]></description>
			<content:encoded><![CDATA[<h2>Remote Desktop Mobile autologin</h2>
<p>As you may know, Remote Desktop Mobile (RDM) does not support auto-login. But sometimes you may want a user does not change settings and is directly connected to a Terminal Server. Ruggedized devices are often used in warehouses and the IT structure uses a terminal server to gather data and manage goods. Although I think Windows Mobile is not the right OS for such barcode scanner devices, you may have no choose and have to use a handheld computer with Windows Mobile instead one that uses Windows CE. The RDM or Terminal Service Client provided with Windows CE devices is much more flexible and can be configured by the OEM to enable you to auto-login into a Terminla Server (TS).</p>
<p>OK, the challenge was to automate the startup and login of RDM on a Windows Mobile 6.1 device. I started using embedded Visual C++ 4.0 although this is outdated by VS2005 and VS2008.</p>
<p>The idea was to launch the exe, fill in the values and click the Connect bar.<span id="more-273"></span></p>
<h3>Finding the connect dialog window</h3>
<p>Normally, on desktop windows, windows and there childs are located in there own tree (see desktop PC spy++ screenshot). On WM61 I found, that the RDM window (class=&#8221;TSSHELLWND&#8221;) and the Connect dialog (class=&#8221;Dialog&#8221;) are located side by side below the desktop window (see cespy screenshot). This makes it hard to find the right dialog, especially as the Connect Dialog does not have a unique window title (window text). The windows can be identified as belonging together by there processID.</p>
<p><a rel="attachment wp-att-275" href="http://www.hjgode.de/wp/2010/01/21/automated-login-for-remote-desktop-mobile/spy-trees/"><img class="alignnone size-medium wp-image-275" title="spy-trees" src="http://www.hjgode.de/wp/wp-content/uploads/2010/01/spy-trees-300x265.gif" alt="" width="300" height="265" /></a></p>
<div id="attachment_274" class="wp-caption alignleft" style="width: 250px"><br />
<a rel="attachment wp-att-274" href="http://www.hjgode.de/wp/2010/01/21/automated-login-for-remote-desktop-mobile/connect_dialog/"><img class="alignnone size-full wp-image-274" title="connect_dialog" src="http://www.hjgode.de/wp/wp-content/uploads/2010/01/connect_dialog.gif" alt="" width="240" height="317" /></a><p class="wp-caption-text">RDM Connect Dialog</p></div>
<h3>Filling the fields</h3>
<p>Knowing the right window I was able to set the text entries by knowing there controlIDs (dialogs use ctrlIDs for easier access of the data, see scanTscDialog() in tscDialog.cpp). So the tool I did can fill in all connection details using SetWindowText().</p>
<h3>Execute the Connect</h3>
<p>The fields are filled with the connection details and now I needed a way to simulate a click onto the connect button (which is a menu in reality) to let the dialog execute a connect. I tried several approaches, the best is to use keyb_event although it works also by sending the TSC window the WM_USER message that is posted by the menu click. I found this WM_USER message within messages of cespy as I tapped on [Connect].</p>
<pre lang="cplusplus"> //Solution three, best solution, ensure you use the scancode value too! AFAIK the scancode for F1 is always 0x70
keybd_event(VK_F1, 0x70, 0, 0);
 Sleep(30);
 keybd_event(VK_F1, 0x70, KEYEVENTF_KEYUP, 0);</pre>
<p>I was unable to send TSSHELLWND nor the Dialog a click onto the menu option [Connect]. The menu seems to be not owned by either of these two visible windows. The menu bar looks like owned by the desktop window.</p>
<p>Sending the SoftKey1 (F1) was also unsuccessfull for window handles of TSSHELLWND and the Connect Dialog.</p>
<h3>The pitfalls</h3>
<p>Everything seems to work OK, but sometimes the tool was unable to fill the fields and execute the connect. I did search several hours and then I found, that the registry and a file is involved in the connect.</p>
<p>The tool always failed to autoconnect after the first clean boot. So I did a snapshot with the famous free SSNAP by &#8220;S-K tools&#8221; and found the changes that caused a manualy connect to be successfull.</p>
<h4>Registry changes</h4>
<p>First, the registry will get be changed, if you manually connect. As I did not like to have my tool to emulate a user typing into the fields using keybd_event, I added code, that does the same changes to the registry (see writeMRU() function in code). There are some more changes in registry, but fortunately I did not have to implement these too (see comments in &#8220;tscDialog.cpp&#8221;).</p>
<h4>RDP file default.rdp</h4>
<p>When you fill the connect dialog and then press [Connect] RDM will save your values in a file \Windows\default.rdp. You may know, that rdp files are commonly used on desktop windows to save/load Remote Desktop Session connection data. Yes, WM6.1 does use a similar technique.</p>
<p>The tool had to provide a default.rdp with the data of the connection settings. So I wrote a function to create and write this file from scratch on every start (see writeRDP() in tsc_dialog.cpp and rdp_file.h). As options, like &#8220;FullScreen&#8221; or &#8220;Fit to Screen&#8221; are also controlled by the rdp file, I was able to control these settings by code.</p>
<h3>Conclusion</h3>
<p>So far the tool works. Dont download if you dont like spaghetti. The code is written as grown.</p>
<h3>Usage</h3>
<p>Write the correct values for the connection to the registry</p>
<pre>[HKEY_LOCAL_MACHINE\Software\RDP_autologin]
"FitToScreen"="1"
"FullScreen"="1"
"Status"="connecting..."
"Save Password"="1"
"Domain"=""
"Password"="xxxxxxxxxx"
"Username"="rdesktop"
"Computer"="192.168.0.130"</pre>
<p>Then simply start the tool. First it will terminate a running instance of RDM. Then it starts a new instance and starts to fill the fields and do the connect.</p>
<h4>Warranty</h4>
<p>No warranty, code is provided as is. Hopefully it is usefull for the one or other.</p>
<h4>Changes</h4>
<p>Some values are hard coded, ie the control IDs used. These IDs may be different on other devices or within other RDM releases. So far the code works on my testing device. If you need to change the control IDs you may use the scanTscDialog() function to get the actual codes listed in the debug window.</p>
<p>Have fun!</p>
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=48" title="Downloaded 1251 times">RDP_autologin CPP source EVC4</a> -  (Hits: 1251, size: 123.58 KB)
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=49" title="Downloaded 1198 times">RDP_autologin ARMv4i exe and reg file</a> -  (Hits: 1198, size: 4.27 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%2F2010%2F01%2F21%2Fautomated-login-for-remote-desktop-mobile%2F&amp;title=Automated+Login+for+Remote+Desktop+Mobile" 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%2F01%2F21%2Fautomated-login-for-remote-desktop-mobile%2F&amp;title=Automated+Login+for+Remote+Desktop+Mobile" 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%2F01%2F21%2Fautomated-login-for-remote-desktop-mobile%2F&amp;title=Automated+Login+for+Remote+Desktop+Mobile" 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%2F01%2F21%2Fautomated-login-for-remote-desktop-mobile%2F&amp;T=Automated+Login+for+Remote+Desktop+Mobile" 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%2F01%2F21%2Fautomated-login-for-remote-desktop-mobile%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%2F01%2F21%2Fautomated-login-for-remote-desktop-mobile%2F&amp;t=Automated+Login+for+Remote+Desktop+Mobile" 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/01/21/automated-login-for-remote-desktop-mobile/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>WM6.1: Remote Desktop Client disconnects after 10 minutes</title>
		<link>http://www.hjgode.de/wp/2009/09/18/wm6-1-remote-desktop-client-disconnects-after-10-minutes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wm6-1-remote-desktop-client-disconnects-after-10-minutes</link>
		<comments>http://www.hjgode.de/wp/2009/09/18/wm6-1-remote-desktop-client-disconnects-after-10-minutes/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 12:19:46 +0000</pubDate>
		<dc:creator>hjgode</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[idle timeout]]></category>
		<category><![CDATA[RDM]]></category>
		<category><![CDATA[remote desktop mobile]]></category>
		<category><![CDATA[Windows Mobile 6.1]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=201</guid>
		<description><![CDATA[Unfortunately Remote Desktop Mobile (RDM) Client, if part of your Windows Mobile 6.1 device, will disconnect after 10 minutes of user idle time.]]></description>
			<content:encoded><![CDATA[<p>Update 2. august 2010: There is a fixed RDM client for WM6.5 which is available to OEMs to include in there ROM images. Possibly you get it with an OS update of your device and will not see this issue any more. See also <a class="linkification-ext" title="Linkification: http://blogs.msdn.com/b/raffael/archive/2009/09/11/remote-desktop-mobile-rdp-client-disconnects-after-10-minutes-of-inactivity.aspx" href="http://blogs.msdn.com/b/raffael/archive/2009/09/11/remote-desktop-mobile-rdp-client-disconnects-after-10-minutes-of-inactivity.aspx">http://blogs.msdn.com/b/raffael/archive/2009/09/11/remote-desktop-mobile-rdp-client-disconnects-after-10-minutes-of-inactivity.aspx</a></p>
<p>Unfortunately Remote Desktop Mobile (RDM) Client, if part of your Windows Mobile 6.1 device, will disconnect after 10 minutes of user idle time. This value seems to be hardcoded into the application. Various searches in internet lead to this assumption. So regardless of your server or client settings, RDM will disconnect after 10 minutes of user idle.</p>
<p><img class="alignnone size-medium wp-image-206" title="RDM_IdleTimeout" src="http://www.hjgode.de/wp/wp-content/uploads/2009/09/RDM_IdleTimeout-225x300.jpg" alt="RDM_IdleTimeout" width="225" height="300" /></p>
<p>The following code is from this <a title="Remote Desktop Mobile (RDP Client) disconnects after 10 minutes of inactivity" href="http://blogs.msdn.com/raffael/archive/2009/09/11/remote-desktop-mobile-rdp-client-disconnects-after-10-minutes-of-inactivity.aspx" target="_blank">blog</a>. For those of you not being able to compile the code I have attached an ArmV4i executable you can use directly on your device.</p>
<p><span id="more-201"></span></p>
<p>Here is the code:</p>
<pre lang="csharp">// RDMkeepBusy.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include
#include 

int _tmain(int argc, _TCHAR* argv[])
{
    int const FIVEMINUTES = 1000*60*5; //1000 ms
    HWND hWndRDM = NULL;

	//First check if TSC is already running???

    //Firstly launch RDP Client
    SHELLEXECUTEINFO sei = {0};
    sei.cbSize = sizeof(sei);
    sei.nShow = SW_SHOWNORMAL;
    sei.lpFile = TEXT("\\Windows\\wpctsc.exe");
    sei.lpParameters = TEXT(" ");
    if (!ShellExecuteEx(&amp;sei))
    {
        MessageBox(NULL, TEXT("Couldn't launch RDP Client"), TEXT("Remote Desktop Launcher"), MB_OK | MB_TOPMOST | MB_SETFOREGROUND);
        goto Exit;
    }
	else
		Sleep(500);

    //Now every X minutes check if it's still running and if so "refresh" its window
    //if it's no longer running, exit
    do
    {
        //check if RDP Client is running, otherwise exit
		DEBUGMSG(1, (L"FindWindow 'TSSHELLWND'...\n"));
        hWndRDM = FindWindow(_T("TSSHELLWND"), NULL);
        if (NULL != hWndRDM)
        {
            ////Get foreground window -- this is not needed if RDM is launched Full-Screen as it was in this case
            //hWndForeground = GetForegroundWindow();
            //Sleep(500);

            //Give focus to the RDP Client window (even if the logon screen, in case user logged out in the meantime)
			DEBUGMSG(1, (L"SetForGroundWindow\n"));
            SetForegroundWindow(hWndRDM);

            //The timer is reset when the rdp window receives mouse or keyboard input
            //with no MOUSEEVENTF_ABSOLUTE the move is relative

			DEBUGMSG(1, (L"MOUSEEVENTF_MOVE 1\n"));
            mouse_event(MOUSEEVENTF_MOVE, 100, 0, 0, 0);
            Sleep(250);
			DEBUGMSG(1, (L"MOUSEEVENTF_MOVE 2\n"));
            mouse_event(MOUSEEVENTF_MOVE, -100, 0, 0, 0);

            ////Give focus back to previous foreground window
            //SetForegroundWindow(hWndForeground);

            //Sleep
			DEBUGMSG(1, (L"Sleep ...\n"));
            Sleep(FIVEMINUTES);
        }
        else
        {
			DEBUGMSG(1, (L"FindWindow failed for 'TSSHELLWND'\n"));
            //RDP Client is not running - let's exit
            goto Exit;
        }
    }
    while (TRUE); //The check (NULL != hWndRDM) is already done inside the loop

Exit:
	DEBUGMSG(1, (L"Exit!\n"));
    if (NULL != hWndRDM)
        CloseHandle(hWndRDM);

    return 0;
}</pre>
<p>The downloads:</p>
<p><b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=34" title="Downloaded 451 times">RDMkeepBusy VS2005 Source</a> -  (Hits: 451, size: 7.64 KB) <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=35" title="Downloaded 756 times">RDMkeepBusy ArmV4i Exe</a> -  (Hits: 756, size: 1.84 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%2F2009%2F09%2F18%2Fwm6-1-remote-desktop-client-disconnects-after-10-minutes%2F&amp;title=WM6.1%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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%2F2009%2F09%2F18%2Fwm6-1-remote-desktop-client-disconnects-after-10-minutes%2F&amp;title=WM6.1%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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%2F2009%2F09%2F18%2Fwm6-1-remote-desktop-client-disconnects-after-10-minutes%2F&amp;title=WM6.1%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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%2F2009%2F09%2F18%2Fwm6-1-remote-desktop-client-disconnects-after-10-minutes%2F&amp;T=WM6.1%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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%2F2009%2F09%2F18%2Fwm6-1-remote-desktop-client-disconnects-after-10-minutes%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%2F2009%2F09%2F18%2Fwm6-1-remote-desktop-client-disconnects-after-10-minutes%2F&amp;t=WM6.1%3A+Remote+Desktop+Client+disconnects+after+10+minutes" 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/2009/09/18/wm6-1-remote-desktop-client-disconnects-after-10-minutes/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

