<?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; windows ce</title>
	<atom:link href="http://www.hjgode.de/wp/tag/windows-ce/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hjgode.de/wp</link>
	<description>Windows Mobile Development and usage</description>
	<lastBuildDate>Fri, 03 Feb 2012 08:53:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<!--CodeProjectFeeder channel--><category>CodeProject</category><generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Windows CE and Mobile SetupDll with unzip support</title>
		<link>http://www.hjgode.de/wp/2010/04/27/windows-ce-and-mobile-setupdll-with-unzip-support/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-ce-and-mobile-setupdll-with-unzip-support</link>
		<comments>http://www.hjgode.de/wp/2010/04/27/windows-ce-and-mobile-setupdll-with-unzip-support/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 13:55:27 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[7za]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[cabwiz]]></category>
		<category><![CDATA[ce_setup.h]]></category>
		<category><![CDATA[iniutil]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[setupdll]]></category>
		<category><![CDATA[unzip]]></category>
		<category><![CDATA[wince-zip-unzip-dll]]></category>
		<category><![CDATA[windows ce]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=522</guid>
		<description><![CDATA[Create windows ce cab files which install a complete directory structure onto a device]]></description>
			<content:encoded><![CDATA[<p><strong>SetupDll_Zip</strong></p>
<p><span style="text-decoration: underline;"><strong>Update 14. sept 2010: fixed source code and template files, please use the new files only</strong></span></p>
<p>Create windows ce cab files which install a complete directory structure onto a device. I created<br />
 this small tool, as I needed an easy to use tool to create a pseudo installation cab.</p>
<p>The DLL will unzip a archiv file with all dirs onto a device. To build a new cab use the directory<br />
 structure you will find below cabdir.</p>
<p><a rel="attachment wp-att-524" href="http://www.hjgode.de/wp/2010/04/27/windows-ce-and-mobile-setupdll-with-unzip-support/setupdll_zip/"><img class="alignnone size-full wp-image-524" title="SetupDll_zip" src="http://www.hjgode.de/wp/wp-content/uploads/2010/04/SetupDll_zip.gif" alt="" width="240" height="320" /></a> <a rel="attachment wp-att-525" href="http://www.hjgode.de/wp/2010/04/27/windows-ce-and-mobile-setupdll-with-unzip-support/setupdll_zip2/"><img class="alignnone size-full wp-image-525" title="SetupDll_zip2" src="http://www.hjgode.de/wp/wp-content/uploads/2010/04/SetupDll_zip2.gif" alt="" width="240" height="320" /></a></p>
<p><span id="more-522"></span></p>
<p><strong>Create your own install</strong></p>
<p>First cleanup all files below cabdir\source. Then place all files into this directory as they should be<br />
 unpacked onto the device. For example for an application called barcodegame, I created the following<br />
 structure below source:</p>
<pre>source
	+---Program Files
	¦   +---barcodegame
	¦       +---de
	¦       +---en
	+---Temp
	+---windows
		+---Start Menu
			+---Programs
</pre>
<p>Then let cabbuild.bat create a new archive with all files and then a cab with this packed file. For example<br />
 change to the cabdir (cd cabdir) and then launch</p>
<pre>Buildcab.bat "BarcodeGame3"</pre>
<p>The batch file will patch an inf file needed for cabwiz and zip all files below source. The batch will also<br />
 patch the file SetupDll_zip2.ini.tmpl which is used to specify the install location and the zip filename:</p>
<pre>;SetupDll_zip2.ini
;directory values have to end with a \

[unzip]
basedir=\
reboot=0
zipfile=!APPNAME!.zip
</pre>
<p>The unzip directory could also be controlled by the registry but the ini file is looked up first.</p>
<p>If you like to control the unzip by the registry, you have to change the template file &#8220;cabtemplate.inf&#8221; and use these<br />
 settings:</p>
<pre>"HKLM\Software\SetupDll_ZIP2"
	registry entries (all REG_SZ):
	unzipbasedir: "\"
	zipfilename: "install.zip"
	doreboot:"0"|"1"
</pre>
<p>Currently the batch and everything is adjusted to work with the ini template file &#8220;SetupDll_zip2.ini.tmpl&#8221;.</p>
<p><strong>Dependencies</strong></p>
<ul>
<li>The ini and inf template files are patched using the GNU tool sed.</li>
<li>The zip file is created with 7za</li>
<li>The cab is created with the MS SDK tool cabwiz.</li>
<li>The setupdll is written with the help of iniutil.cpp/h and unzip.cpp/h</li>
</ul>
<p><strong>Coding techiques</strong></p>
<ul>
<li>Windows native API.</li>
<li>CreateWindow from DLL.</li>
<li>Read ini files on Windows CE.</li>
<li>Unzip file on Windwos Mobile.</li>
<li>Update window from thread.</li>
</ul>
<p><strong>Advantages and Disadvantages</strong></p>
<ul>
<li>No national windows support. No shellfolders  <img src='http://www.hjgode.de/wp/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  </li>
<li>Very easy to use  <img src='http://www.hjgode.de/wp/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> </li>
</ul>
<p><strong>Download (source and ready to use):<span style="text-decoration: line-through;"> </span></strong><span style="text-decoration: line-through;"><b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=92" title="Downloaded 489 times">SetupDll_Zip</a> -  (Hits: 489, size: 2.4 MB)</span></p>
<p>Updated 14. sept 2010:<br />
 <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=119" title="Downloaded 113 times">SetupDll_Zip 14.sept 2010, evc4 source and DLL</a> -  (Hits: 113, size: 172.19 kB)<br />
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=120" title="Downloaded 120 times">SetupDll_Zip, CAB dir with templates and sample files</a> - You can use this without source code to build CAB files which use the unzip DLL (incl.). (Hits: 120, size: 3.24 MB)</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%2F04%2F27%2Fwindows-ce-and-mobile-setupdll-with-unzip-support%2F&amp;title=Windows+CE+and+Mobile+SetupDll+with+unzip+support" 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%2F04%2F27%2Fwindows-ce-and-mobile-setupdll-with-unzip-support%2F&amp;title=Windows+CE+and+Mobile+SetupDll+with+unzip+support" 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%2F04%2F27%2Fwindows-ce-and-mobile-setupdll-with-unzip-support%2F&amp;title=Windows+CE+and+Mobile+SetupDll+with+unzip+support" 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%2F04%2F27%2Fwindows-ce-and-mobile-setupdll-with-unzip-support%2F&amp;T=Windows+CE+and+Mobile+SetupDll+with+unzip+support" 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%2F04%2F27%2Fwindows-ce-and-mobile-setupdll-with-unzip-support%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%2F04%2F27%2Fwindows-ce-and-mobile-setupdll-with-unzip-support%2F&amp;t=Windows+CE+and+Mobile+SetupDll+with+unzip+support" 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/04/27/windows-ce-and-mobile-setupdll-with-unzip-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile: Install FTDI_SER serial to USB adapter</title>
		<link>http://www.hjgode.de/wp/2009/10/22/windows-mobile-install-ftdi_ser-serial-to-usb-adapter/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-mobile-install-ftdi_ser-serial-to-usb-adapter</link>
		<comments>http://www.hjgode.de/wp/2009/10/22/windows-mobile-install-ftdi_ser-serial-to-usb-adapter/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 08:28:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[adapter]]></category>
		<category><![CDATA[FTDI]]></category>
		<category><![CDATA[ftdi_ser.dll]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[USB]]></category>
		<category><![CDATA[windows ce]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=223</guid>
		<description><![CDATA[Sometime you may need additional serial connectors for your windows mobile device. Here is the odyssey I had with a FTDI adapter: How I installed a FTDI serial to USB adapter within ITC CN50 running Windows Mobile 6.1. Although the USB to Serial adapters with FTDI chips can be installed with drivers from FTDI, these [...]]]></description>
			<content:encoded><![CDATA[<p>Sometime you may need additional serial connectors for your windows mobile device. Here is the odyssey I had with a FTDI adapter:</p>
<h4>How I installed a FTDI serial to USB adapter within ITC CN50 running Windows Mobile 6.1.</h4>
<p>Although the USB to Serial adapters with FTDI chips can be installed with drivers from <a title="FTDI driver downloads" href="http://www.ftdichip.com/Drivers/VCP.htm" target="_blank">FTDI</a>, these will not work out of the box with WM6.1.</p>
<h2><span id="more-223"></span>Initial Test with CN50</h2>
<p>First I copied the Armv4 driver files ftdi_ser.dll and FTDIPORT.INF to \Windows on the device.</p>
<p>Inserted a Micro USB/B to USB A host connector (<a title="Digikey H11576-ND" href="http://parts.digikey.com/1/parts/1415796-cable-micro-usb-a-std-a-0-075m-zx40-a-5s-75-stdaj.html" target="_blank">Digikey H11576-ND</a>)</p>
<p><img class="alignnone size-full wp-image-224" title="micro-usb-adapter" src="http://www.hjgode.de/wp/wp-content/uploads/2009/10/micro-usb-adapter.jpg" alt="micro-usb-adapter" width="160" height="160" /></p>
<p>Inserted the USB2SER adapter &#8220;<a href="http://www.ftdichip.com/Products/EvaluationKits/US232R-10.htm" target="_blank">US232R-10 &#8211; Premium USB &#8211; RS232 Serial Converter Cable</a>&#8221;</p>
<p><img class="alignnone size-full wp-image-225" title="US232R-10" src="http://www.hjgode.de/wp/wp-content/uploads/2009/10/US232R-10.jpg" alt="US232R-10" width="272" height="78" /></p>
<p>The device prompts for the driver name and I typed &#8220;ftdi_ser.dll&#8221; although it should not do so, as I copied the files previously. See also</p>
<p>Then I started to try to communicate using COM10 (verified with registry). But there was no communication possible. The VCP test application did not list any port to open, so I entered COM10: (or SER0 for patched driver) but without success.</p>
<p>I also tested without success using a Loopback adapter as described here <a class="linkification-ext" title="Linkification: http://www.airborn.com.au/serial/rs232.html" href="http://www.airborn.com.au/serial/rs232.html">http://www.airborn.com.au/serial/rs232.html</a>:</p>
<p><img class="alignnone size-full wp-image-226" title="loopback-rs232" src="http://www.hjgode.de/wp/wp-content/uploads/2009/10/loopback-rs232.jpg" alt="loopback-rs232" width="168" height="169" /></p>
<p>Using the VCP PC drivers for WinXP the serial adapter worked fine, so the hardwware is not faulty.</p>
<p>I also tested on CN3 (WM6.1) at the dock connector without the micro-USB cable. But this did also not work.</p>
<p>Finally I tested on a WinCE5 device (CK61) and this worked OK. So I compared the registry of WinCE5 and WM6.1 after driver install and adapter connection. I found the following (red) keys are missing on the WM6.1 device and so I added them manually:</p>
<pre>REGEDIT4

;[HKEY_LOCAL_MACHINE\Drivers\Active\48]
;"FullName"="SER0"
;"Hnd"=dword:005A1A80
;"Key"="Drivers\\USB\\ClientDrivers\\FTDI_DEVICE"
;"Name"="SER0:"

[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\FTDI_DEVICE\FTE06D03]
"ConfigData"=hex(3):01,04,3f,3f,10,27,88,13,c4,09,e2,04,71,02,38,41,9c,80,4e,c0,34,00,1a,00,0d,00,06,40,03,80,00,00,d0,80
"DeviceContext"=dword:00000000
"InitialIndex"=dword:00000000
"LatencyTimer"=dword:00000010

[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\FTDI_DEVICE]
"ConfigData"=hex(3):01,04,3f,3f,10,27,88,13,c4,09,e2,04,71,02,38,41,9c,80,4e,c0,34,00,1a,00,0d,00,06,40,03,80,00,00,d0,80
"DeviceArrayIndex"=dword:00000000
"Dll"="ftdi_ser.dll"
"Index"=dword:00000000
"InitialIndex"=dword:00000000
"LatencyTimer"=dword:00000010
"Prefix"="SER"
"Version"="1.1.0.2"

<span style="color: #ff0000;">[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\1027_24577\Default\Default\FTDI_DEVICE]
"DLL"="ftdi_ser.dll"

[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\1027_24592\Default\Default\FTDI_DEVICE]
"DLL"="ftdi_ser.dll"

[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\1027_24593\Default\Default\FTDI_DEVICE]
"DLL"="ftdi_ser.dll"

[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\Default\Default\255\FTDI_DEVICE]
"DLL"="ftdi_ser.dll"</span>
</pre>
<p>Using this registry changes and after reinserting the adapter, I was able to communicate using the patched driver, where all COM was replaced with SER. Maybe the original driver will work too, it uses COM10 as port, where the patched driver uses SER0.</p>
<h2>VCP test tool</h2>
<p>Although the VCP Test application is not the best in regards of error checking (you can enter whatever you want for port and it always makes you think it was able to open the port), I include it here only for completeness.</p>
<p>Original VCP test tool: <a class="linkification-ext" title="Linkification: http://www.ftdichip.com/Projects/CodeExamples/VC++/VCPTest_vcpp.zip" href="http://www.ftdichip.com/Projects/CodeExamples/VC++/VCPTest_vcpp.zip">http://www.ftdichip.com/Projects/CodeExamples/VC++/VCPTest_vcpp.zip</a></p>
<p>Patched Driver: <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=43" title="Downloaded 1005 times">FTDI (CE ARM) patched driver</a> - Replaced all COM by SER (Hits: 1005, size: 30.77 KB)</p>
<p>Same driver as cab with COM instead of SER: <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=123" title="Downloaded 257 times">FTDI driver install cab using the standard COM prefix and not SER</a> -  (Hits: 257, size: 64.01 kB)</p>
<p>Here is the source code of the modded VCP test tool: <b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=44" title="Downloaded 560 times">Modded VCP test tool</a> -  (Hits: 560, size: 105.86 KB)</p>
<h2>Additional links</h2>
<p>Link to <a href="http://www.ftdichip.com/Documents/InstallGuides.htm" target="_blank">Installation guides</a>: <a class="linkification-ext" title="Linkification: http://www.ftdichip.com/Documents/InstallGuides.htm" href="http://www.ftdichip.com/Documents/InstallGuides.htm">http://www.ftdichip.com/Documents/InstallGuides.htm</a></p>
<p>The <a href="http://www.ftdichip.com/Documents/InstallGuides/Windows_CE_Installation_Guide.pdf" target="_blank">CE installation guide</a>: <a class="linkification-ext" title="Linkification: http://www.ftdichip.com/Documents/InstallGuides/Windows_CE_Installation_Guide.pdf" href="http://www.ftdichip.com/Documents/InstallGuides/Windows_CE_Installation_Guide.pdf">http://www.ftdichip.com/Documents/InstallGuides/Windows_CE_Installation_Guide.pdf</a></p>
<p>Update 23. march 2011: Anyone looking for a two port solution? Try the drivers provided by <a href="http://www.handera.com/Products/SD50-Series-Downloads.aspx" target="_blank">Handera</a> (SD50).</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%2F10%2F22%2Fwindows-mobile-install-ftdi_ser-serial-to-usb-adapter%2F&amp;title=Windows+Mobile%3A+Install+FTDI_SER+serial+to+USB+adapter" 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%2F10%2F22%2Fwindows-mobile-install-ftdi_ser-serial-to-usb-adapter%2F&amp;title=Windows+Mobile%3A+Install+FTDI_SER+serial+to+USB+adapter" 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%2F10%2F22%2Fwindows-mobile-install-ftdi_ser-serial-to-usb-adapter%2F&amp;title=Windows+Mobile%3A+Install+FTDI_SER+serial+to+USB+adapter" 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%2F10%2F22%2Fwindows-mobile-install-ftdi_ser-serial-to-usb-adapter%2F&amp;T=Windows+Mobile%3A+Install+FTDI_SER+serial+to+USB+adapter" 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%2F10%2F22%2Fwindows-mobile-install-ftdi_ser-serial-to-usb-adapter%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%2F10%2F22%2Fwindows-mobile-install-ftdi_ser-serial-to-usb-adapter%2F&amp;t=Windows+Mobile%3A+Install+FTDI_SER+serial+to+USB+adapter" 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/10/22/windows-mobile-install-ftdi_ser-serial-to-usb-adapter/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Hooking into the keyboard message queue</title>
		<link>http://www.hjgode.de/wp/2009/05/16/hooking-into-the-keyboard-message-queue/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hooking-into-the-keyboard-message-queue</link>
		<comments>http://www.hjgode.de/wp/2009/05/16/hooking-into-the-keyboard-message-queue/#comments</comments>
		<pubDate>Sat, 16 May 2009 04:59:09 +0000</pubDate>
		<dc:creator>josef</dc:creator>
				<category><![CDATA[CodeProject]]></category>
		<category><![CDATA[kiosk mode]]></category>
		<category><![CDATA[hook]]></category>
		<category><![CDATA[hooks]]></category>
		<category><![CDATA[iHook]]></category>
		<category><![CDATA[keyb-exe-for-win-ce]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[windows ce]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=52</guid>
		<description><![CDATA[Sample source for windows ce showwing how to use keyboard hooks in windows ce]]></description>
			<content:encoded><![CDATA[<p>Although undocumented keyboard hooking is possible. I read an article at <a title="Using keyboard hooks in windows ce" href="http://www.codeproject.com/KB/mobile/wincekbhook.aspx">CodeProject</a> about hooking and wrote some applications that uses this great possibility. One result is iHook, an application that will do something like the button shortcuts applet in windows mobile. You can define keys and what application they should start.</p>
<h2><a name="iHook2"><span id="more-52"></span>iHook3</a></h2>
<p>This application provides the user with key shortcuts to applications. All keystrokes or hot keys are transparent, this means, they are not lost  and will reach the application just running in foreground. iHook2 can be started  by placing a link to the exe in \Windows\Startup, by a batch file or some other  AutoStart feature of the device OS.</p>
<h2><!--more-->iHook3 Version 1.3</h2>
<p>This versions uses the registry to read the assigned keys and applications.  Additionally the app is now safe and will only load once. The only argument  supported is &#8220;-writereg&#8221; to write a default registry (see below).</p>
<h3>Sample registry:</h3>
<pre>[HKEY_LOCAL_MACHINE\SOFTWARE\Intermec\iHook2]
"arg4"="iRun2.exe"
"exe4"="\\windows\\iKill2.exe"
"key4"=hex:\
      1b
"arg3"=""
"exe3"="explorer.exe"
"key3"=hex:\
      71
"arg2"=""
"exe2"="\\windows\\iSIP2.exe"
"key2"=hex:\
      74
"arg1"="-toggle"
"exe1"="\\windows\\LockTaskBar.exe"
"key1"=hex:\
      73
"arg0"=""
"exe0"="\\windows\\iRotateCN2.exe"
"key0"=hex:\
      72</pre>
<h2><a name="iHook3"></a></h2>
<p><strong>New in version iHook3 (version 2.0)</strong><br />
recognizes CK60<br />
adds Notification icon in taskbar</p>
<p><strong>New in iHook3 (version 3.1)</strong><br />
recognizes CN3<br />
supports consuming/forwarding switch for hot-keys. Use &#8220;ForwardKey&#8221;  registry binary value 0 to disable forwarding hot-keys, 1 to enable forwarding  hotkeys.<br />
This new option is usefull if you have a phone device and hook the number keys.  In this case disable forwarding with 0, otherwise the phone app will come in  front for the number keys.</p>
<pre>REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Intermec\iHook3]
"arg0"=""
"exe0"="\\Windows\\iRotate.exe"
"key0"=hex:\
      26
"<strong>ForwardKey</strong>"=hex:\
      00

<strong>The main functionality is in here:</strong>
#pragma data_seg(".HOOKDATA")									//	Shared data (memory) among all instances.
	HHOOK g_hInstalledLLKBDhook = NULL;						// Handle to low-level keyboard hook
	//HWND hWnd	= NULL;											// If in a DLL, handle to app window receiving WM_USER+n message
#pragma data_seg()

#pragma comment(linker, "/SECTION:.HOOKDATA,RWS")		//linker directive

// The command below tells the OS that this EXE has an export function so we can use the global hook without a DLL
__declspec(dllexport) LRESULT CALLBACK g_LLKeyboardHookCallback(
   int nCode,      // The hook code
   WPARAM wParam,  // The window message (WM_KEYUP, WM_KEYDOWN, etc.)
   LPARAM lParam   // A pointer to a struct with information about the pressed key
)
{
	/*	typedef struct {
	    DWORD vkCode;
	    DWORD scanCode;
	    DWORD flags;
	    DWORD time;
	    ULONG_PTR dwExtraInfo;
	} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;*/

	// Get out of hooks ASAP; no modal dialogs or CPU-intensive processes!
	// UI code really should be elsewhere, but this is just a test/prototype app
	// In my limited testing, HC_ACTION is the only value nCode is ever set to in CE
	static int iActOn = HC_ACTION;
	PROCESS_INFORMATION pi;
	int i;
	bool processed_key=false;
	if (nCode == iActOn)
	{
		PKBDLLHOOKSTRUCT pkbhData = (PKBDLLHOOKSTRUCT)lParam;
		if ( (wParam == WM_KEYUP) &amp;&amp; (processed_key==false) )
		{
			for (i=0; i&lt;=lastKey; i++)
			{
				if (pkbhData-&gt;vkCode == kMap[i].keyCode)
				{

Below is the download of the source code as done with embedded visual c 4.
<b>DOWNLOAD:</b><a href="http://www.hjgode.de/wp/wp-content/plugins/download-monitor/download.php?id=6" title="Downloaded 340 times">iHook3 Embedded Visual C++ 4 source code</a> -  (Hits: 340, size: 90.75 KB)</pre>
<!-- 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%2F05%2F16%2Fhooking-into-the-keyboard-message-queue%2F&amp;title=Hooking+into+the+keyboard+message+queue" 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%2F05%2F16%2Fhooking-into-the-keyboard-message-queue%2F&amp;title=Hooking+into+the+keyboard+message+queue" 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%2F05%2F16%2Fhooking-into-the-keyboard-message-queue%2F&amp;title=Hooking+into+the+keyboard+message+queue" 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%2F05%2F16%2Fhooking-into-the-keyboard-message-queue%2F&amp;T=Hooking+into+the+keyboard+message+queue" 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%2F05%2F16%2Fhooking-into-the-keyboard-message-queue%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%2F05%2F16%2Fhooking-into-the-keyboard-message-queue%2F&amp;t=Hooking+into+the+keyboard+message+queue" 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/05/16/hooking-into-the-keyboard-message-queue/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Started a poll: Is Windows Mobile the right OS choice for an commercial used handheld?</title>
		<link>http://www.hjgode.de/wp/2009/05/10/started-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=started-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld</link>
		<comments>http://www.hjgode.de/wp/2009/05/10/started-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld/#comments</comments>
		<pubDate>Sun, 10 May 2009 15:06:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Polls]]></category>
		<category><![CDATA[function keys]]></category>
		<category><![CDATA[poll]]></category>
		<category><![CDATA[windows ce]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://www.hjgode.de/wp/?p=16</guid>
		<description><![CDATA[Please vote, if you like Windows Mobile or Windows CE on commercial devices from a developers point of view.]]></description>
			<content:encoded><![CDATA[<p>Started a poll: Is Windows Mobile the right OS choice for an commercial used handheld?</p>
<p>Do you think windows mobile is the right choice for a commercial used handheld?</p>
<p>Having windows mobile OS on a barcode scanner data retrieval system has a lots of disadvantages. There may be unwanted popups and it is hard to lock the user in the application. Windows CE is shrinked down, but no one will miss outlook and other PIM of windows mobile on a data retrieval system.</p>
<p>When I am talking about industrial/commercial used handhelds, I am talking about <a title="Intermec Computers" href="http://www.intermec.com/products/computers/index.aspx" target="_blank">such</a> devices.</p>
<p>Windows Mobile offers a rich set of functions, but from a support and developing view, it is harder to lock down the user in the application they have to use to enter data. There is an strange function key mapping and every time a popup may appear, where the user can get out of the main app back to the OS.</p>
<p>Windows CE is much easier to support and it is easier to lock down the user. It also has a smaller footprint and the application has more memory: no outlook and other mostly unused apps in the background. For browser type applications, the browser is more compatible to desktop browser than the Mobile Internet Explorer.</p>
<p>What do you think?</p>
<p>Some companies for ruggedized handhelds offer both OS types for there devices, some not.</p>
<p>Please vote at right sidebar.</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%2F05%2F10%2Fstarted-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld%2F&amp;title=Started+a+poll%3A+Is+Windows+Mobile+the+right+OS+choice+for+an+commercial+used+handheld%3F" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F10%2Fstarted-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld%2F&amp;title=Started+a+poll%3A+Is+Windows+Mobile+the+right+OS+choice+for+an+commercial+used+handheld%3F" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F10%2Fstarted-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld%2F&amp;title=Started+a+poll%3A+Is+Windows+Mobile+the+right+OS+choice+for+an+commercial+used+handheld%3F" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.netscape.com/submit/?U=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F10%2Fstarted-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld%2F&amp;T=Started+a+poll%3A+Is+Windows+Mobile+the+right+OS+choice+for+an+commercial+used+handheld%3F" rel="nofollow" title="Add to&nbsp;Netscape"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/netscape.png" title="Add to&nbsp;Netscape" alt="Add to&nbsp;Netscape" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Fwww.hjgode.de%2Fwp%2F2009%2F05%2F10%2Fstarted-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld%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%2F05%2F10%2Fstarted-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld%2F&amp;t=Started+a+poll%3A+Is+Windows+Mobile+the+right+OS+choice+for+an+commercial+used+handheld%3F" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://www.hjgode.de/wp/wp-content/plugins/social-bookmarks0/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.hjgode.de/wp/2009/05/10/started-a-poll-is-windows-mobile-the-right-os-choice-for-an-commercial-used-handheld/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

