<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>VSDOTNET - Windows Mobile</title>
    <link>http://www.vsdotnet.ch/</link>
    <description>Un peu de mon expérience dans le monde .NET</description>
    <language>en-us</language>
    <copyright>Stéphane Schwartz</copyright>
    <lastBuildDate>Thu, 22 Apr 2010 15:13:47 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>stephane@vsdotnet.ch</managingEditor>
    <webMaster>stephane@vsdotnet.ch</webMaster>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=f991bc4a-103e-4163-95aa-0c2d8100a087</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,f991bc4a-103e-4163-95aa-0c2d8100a087.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,f991bc4a-103e-4163-95aa-0c2d8100a087.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=f991bc4a-103e-4163-95aa-0c2d8100a087</wfw:commentRss>
      <title>Rachat de ARM Holding par Apple</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,f991bc4a-103e-4163-95aa-0c2d8100a087.aspx</guid>
      <link>http://www.vsdotnet.ch/2010/04/22/RachatDeARMHoldingParApple.aspx</link>
      <pubDate>Thu, 22 Apr 2010 15:13:47 GMT</pubDate>
      <description>&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;
&lt;meta name="ProgId" content="Word.Document"&gt;
&lt;meta name="Generator" content="Microsoft Word 12"&gt;
&lt;meta name="Originator" content="Microsoft Word 12"&gt;
&lt;link rel="File-List" href="file:///C:%5CUsers%5CSCHWAR%7E1.OMS%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;
&lt;link rel="themeData" href="file:///C:%5CUsers%5CSCHWAR%7E1.OMS%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;
&lt;link rel="colorSchemeMapping" href="file:///C:%5CUsers%5CSCHWAR%7E1.OMS%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:HyphenationZone&gt;21&lt;/w:HyphenationZone&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;FR&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:DontVertAlignCellWithSp/&gt;
   &lt;w:DontBreakConstrainedForcedTables/&gt;
   &lt;w:DontVertAlignInTxbx/&gt;
   &lt;w:Word11KerningPairs/&gt;
   &lt;w:CachedColBalance/&gt;
  &lt;/w:Compatibility&gt;
  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt;
&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;
	mso-font-charset:1;
	mso-generic-font-family:roman;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:0 0 0 0 0 0;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;
	mso-font-charset:0;
	mso-generic-font-family:swiss;
	mso-font-pitch:variable;
	mso-font-signature:-1610611985 1073750139 0 0 159 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-unhide:no;
	mso-style-qformat:yes;
	mso-style-parent:"";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:10.0pt;
	margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
.MsoChpDefault
	{mso-style-type:export-only;
	mso-default-props:yes;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:Calibri;
	mso-fareast-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
.MsoPapDefault
	{mso-style-type:export-only;
	margin-bottom:10.0pt;
	line-height:115%;}
@page Section1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;
	mso-header-margin:36.0pt;
	mso-footer-margin:36.0pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
--&gt;
&lt;/style&gt;
&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Tableau Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-fareast-font-family:"Times New Roman";
	mso-fareast-theme-font:minor-fareast;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;}
&lt;/style&gt;
&lt;![endif]--&gt;Les
rumeurs vont de bon train concernant le rachat par Apple de ARM Holding, fabriquant
de processeurs utilisé dans les outils nomades d’Apple, mais pas uniquement …&lt;br&gt;
&lt;br&gt;
Le rapatriement « in-house » ne serait pas illogique du point de vue Apple, mais laisserait
de nombreux acteurs, notamment Qualcomm, Samsung, TI, Marvell&amp;nbsp; dans une impasse.
ARM est devenu le standard et il existe peux ou pas d’alternative pour ceux-ci dans
le cas ou Apple fermerais les vannes a ses concurrent. Ou bloquerait les innovations,
les rendant disponible&amp;nbsp; pour ses propres produits uniquement.&lt;br&gt;
&lt;br&gt;
Mais je peints probablement le diable sur la muraille.&lt;br&gt;
&lt;br&gt;
Source : &lt;a href="http://www.thisislondon.co.uk/standard-business/article-23826703-city-aflame-with-takeover-talk-of-arm-and-xstrata.do"&gt;London
Evening Standard&lt;/a&gt;
&lt;br&gt;
&lt;span style="" lang="FR-CH"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt; 
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=f991bc4a-103e-4163-95aa-0c2d8100a087" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,f991bc4a-103e-4163-95aa-0c2d8100a087.aspx</comments>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=832863fc-df54-4dcd-9b2b-04fd715fbf74</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,832863fc-df54-4dcd-9b2b-04fd715fbf74.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,832863fc-df54-4dcd-9b2b-04fd715fbf74.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=832863fc-df54-4dcd-9b2b-04fd715fbf74</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">En passant à travers le programme des TechDay
2010, je remarque une session animé par Sacha Corti ayant comme sujet la nouvelle
plateforme Window Mobile : Windows 7 Phone. Première bonne surprise.<br /><br />
Rapide tour sur le <a href="http://techpreacher.corti.com/">blog </a>de Sacha Corti,
et deuxième bonne surprise. Des photos de la surface chez Microsoft  Suisse.<br /><br /><p></p><div align="center"><img src="http://www.vsdotnet.ch/content/binary/surface.jpg" width="559" border="0" height="335" /></div><img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=832863fc-df54-4dcd-9b2b-04fd715fbf74" /></body>
      <title> Microsoft Surface &amp; Windows 7 Phone</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,832863fc-df54-4dcd-9b2b-04fd715fbf74.aspx</guid>
      <link>http://www.vsdotnet.ch/2010/02/11/MicrosoftSurfaceWindows7Phone.aspx</link>
      <pubDate>Thu, 11 Feb 2010 16:04:55 GMT</pubDate>
      <description>En passant à travers le programme des TechDay 2010, je remarque une session animé par Sacha Corti ayant comme sujet la nouvelle plateforme Window Mobile : Windows 7 Phone. Première bonne surprise.&lt;br&gt;
&lt;br&gt;
Rapide tour sur le &lt;a href="http://techpreacher.corti.com/"&gt;blog &lt;/a&gt;de Sacha Corti,
et deuxième bonne surprise. Des photos de la surface chez Microsoft&amp;nbsp; Suisse.&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;div align="center"&gt;&lt;img src="http://www.vsdotnet.ch/content/binary/surface.jpg" width="559" border="0" height="335"&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=832863fc-df54-4dcd-9b2b-04fd715fbf74" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,832863fc-df54-4dcd-9b2b-04fd715fbf74.aspx</comments>
      <category>Surface</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=0d819df9-413a-4c27-b946-39001e7b5b96</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,0d819df9-413a-4c27-b946-39001e7b5b96.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,0d819df9-413a-4c27-b946-39001e7b5b96.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=0d819df9-413a-4c27-b946-39001e7b5b96</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Les chiffres de comScore, concernant le
nombre d’appareils téléphoniques en service en octobre 2009 aux Etats-Unis, sont tombés
… 
<br /><br />
Première réflexion : la guerre des chiffres concernant les smartphones semble une
bataille élitiste … En effet le nombre de smartphones, toutes marques confondues,
ne représente que 15% du marché. Il semble donc que 85% des utilisateurs arrive à
vivre sans boussole, GPS, connexion 3G et écran multi-touch ! 
<br /><br />
Second réflexion : le grand gagnant dans la catégorie smartphone est belle et bien
RIM avec son BlackBerry … A lire la blogsphere, il semble que seuls l’iPhone et Androïd
existent. 
<br /><br />
Dernière refexion : Windows mobile est mort selon la blogsphere. Troisème platforme,
juste derrière l’iPhone, mais largement devant Symbian et google (7 fois plus d’unités),
Windows continue à progresser (+5% depuis le début de l’année), progression faible
par rapport à l’ensemble du marché (+42%) ou à d’autre constructeur (l’iPhone est
passé de 5 millions d’appareil au début de l’année à pratiquement 9 millions en octobre) <img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=0d819df9-413a-4c27-b946-39001e7b5b96" /></body>
      <title>Smartphone sur le marché Américain</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,0d819df9-413a-4c27-b946-39001e7b5b96.aspx</guid>
      <link>http://www.vsdotnet.ch/2009/12/16/SmartphoneSurLeMarch%c3%a9Am%c3%a9ricain.aspx</link>
      <pubDate>Wed, 16 Dec 2009 16:32:11 GMT</pubDate>
      <description>Les chiffres de comScore, concernant le nombre d’appareils téléphoniques en service en octobre 2009 aux Etats-Unis, sont tombés …
&lt;br&gt;
&lt;br&gt;
Première réflexion : la guerre des chiffres concernant les smartphones semble une
bataille élitiste … En effet le nombre de smartphones, toutes marques confondues,
ne représente que 15% du marché. Il semble donc que 85% des utilisateurs arrive à
vivre sans boussole, GPS, connexion 3G et écran multi-touch ! 
&lt;br&gt;
&lt;br&gt;
Second réflexion : le grand gagnant dans la catégorie smartphone est belle et bien
RIM avec son BlackBerry … A lire la blogsphere, il semble que seuls l’iPhone et Androïd
existent. 
&lt;br&gt;
&lt;br&gt;
Dernière refexion : Windows mobile est mort selon la blogsphere. Troisème platforme,
juste derrière l’iPhone, mais largement devant Symbian et google (7 fois plus d’unités),
Windows continue à progresser (+5% depuis le début de l’année), progression faible
par rapport à l’ensemble du marché (+42%) ou à d’autre constructeur (l’iPhone est
passé de 5 millions d’appareil au début de l’année à pratiquement 9 millions en octobre) &lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=0d819df9-413a-4c27-b946-39001e7b5b96" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,0d819df9-413a-4c27-b946-39001e7b5b96.aspx</comments>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=1caee330-432d-4e15-a569-71449e2f9d92</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,1caee330-432d-4e15-a569-71449e2f9d92.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,1caee330-432d-4e15-a569-71449e2f9d92.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=1caee330-432d-4e15-a569-71449e2f9d92</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Windows Mobile 6.5 introduit une nouvelle
API prenant en compte le gestion des gestes. Les exemples fournis dans le SDK ne sont
malheureusement disponible qu'en C++. 
<br /><br />
De nombreux exemples et codes open-source étaient disponible (notemment sous www.codeplex.com)
pour géré ces gestes. L'API de Microsoft est désormais disponible pour le code managé,
grâce à Alex Yakhnin et Ron Buckton qui ont crée un Wrapper, disponible sur le MSDN
: http://code.msdn.microsoft.com/gestureswm. 
<br /><br />
Il est désormais possible de générer une nouvelle expérience utilisateur de manière
"relativement" simple.<img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=1caee330-432d-4e15-a569-71449e2f9d92" /></body>
      <title>Gesture API Code Managé</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,1caee330-432d-4e15-a569-71449e2f9d92.aspx</guid>
      <link>http://www.vsdotnet.ch/2009/09/07/GestureAPICodeManag%c3%a9.aspx</link>
      <pubDate>Mon, 07 Sep 2009 14:47:17 GMT</pubDate>
      <description>Windows Mobile 6.5 introduit une nouvelle API prenant en compte le gestion des gestes. Les exemples fournis dans le SDK ne sont malheureusement disponible qu'en C++. 
&lt;br&gt;
&lt;br&gt;
De nombreux exemples et codes open-source étaient disponible (notemment sous www.codeplex.com)
pour géré ces gestes. L'API de Microsoft est désormais disponible pour le code managé,
grâce à Alex Yakhnin et Ron Buckton qui ont crée un Wrapper, disponible sur le MSDN
: http://code.msdn.microsoft.com/gestureswm. 
&lt;br&gt;
&lt;br&gt;
Il est désormais possible de générer une nouvelle expérience utilisateur de manière
"relativement" simple.&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=1caee330-432d-4e15-a569-71449e2f9d92" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,1caee330-432d-4e15-a569-71449e2f9d92.aspx</comments>
      <category>C#</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=5004315e-fcc4-4301-9200-ce93b6a64382</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,5004315e-fcc4-4301-9200-ce93b6a64382.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,5004315e-fcc4-4301-9200-ce93b6a64382.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=5004315e-fcc4-4301-9200-ce93b6a64382</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">HP n'offrant officiellement pas de mise
à jour de l'OS (ni 6.1, ni 6.5 ...), les gens de XDA proposent des ROMs pour votre
214. 
<br /><br />
Tout est disponible au ROM centre de Brightant (http://forum.brighthand.com/showthread.php?t=270542)<img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=5004315e-fcc4-4301-9200-ce93b6a64382" /></body>
      <title>iPAQ 214 sous Windows Mobile 6.5</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,5004315e-fcc4-4301-9200-ce93b6a64382.aspx</guid>
      <link>http://www.vsdotnet.ch/2009/09/03/iPAQ214SousWindowsMobile65.aspx</link>
      <pubDate>Thu, 03 Sep 2009 11:16:28 GMT</pubDate>
      <description>HP n'offrant officiellement pas de mise à jour de l'OS (ni 6.1, ni 6.5 ...), les gens de XDA proposent des ROMs pour votre 214.
&lt;br&gt;
&lt;br&gt;
Tout est disponible au ROM centre de Brightant (http://forum.brighthand.com/showthread.php?t=270542)&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=5004315e-fcc4-4301-9200-ce93b6a64382" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,5004315e-fcc4-4301-9200-ce93b6a64382.aspx</comments>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=838c1e92-6e55-4b6d-9720-b99779ba5fcb</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,838c1e92-6e55-4b6d-9720-b99779ba5fcb.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,838c1e92-6e55-4b6d-9720-b99779ba5fcb.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=838c1e92-6e55-4b6d-9720-b99779ba5fcb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Vous aez un iPAQ 614, vous savez que HP ne propose pas de mise à jour de l'OS (6.1
ou 6.5) et vous revez d'utiliser Windows Mobile 6.5 ? Alors faite un tour sur le site
de XDA-Developers !
</p>
        <p>
La procèdure de mise à jour est la suivante :
</p>
        <ol>
          <li>
S'assurer que l'iPAQ est bien à jour (OS &amp; Firmeware). Tout est disponible sur
le site d'HP 
</li>
          <li>
Télécharger la ROM sur le site de <a href="http://forum.xda-developers.com/showthread.php?t=496283">XDA-Developers</a>.
Cette ROM n'est pas un mise à jour officiel de HP ! 
</li>
          <li>
Mettre le fichier FLASH.DIO sur la SD du téléphon. Attention, cette SD ne doit pas
être plus grange que 2 GB. 
</li>
          <li>
Eteinde l'appareil 
</li>
          <li>
Presser en même temp le bouton "mute" et le bouton d'enregistrement de la voix, puis
le bouton marche/arrêt. 
</li>
          <li>
L'appareil va s'allumer via le SD loader et flasher votre téléphone 
</li>
          <li>
Vous avez un appareil en Windows Mobile 6.5 qui doit ressemble à ça :</li>
        </ol>
        <p align="center">
          <img src="http://www.vsdotnet.ch/content/binary/hp614c.jpg" border="0" />
        </p>
        <img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=838c1e92-6e55-4b6d-9720-b99779ba5fcb" />
      </body>
      <title>  iPAQ 614 sous Windows Mobile 6.5</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,838c1e92-6e55-4b6d-9720-b99779ba5fcb.aspx</guid>
      <link>http://www.vsdotnet.ch/2009/05/26/IPAQ614SousWindowsMobile65.aspx</link>
      <pubDate>Tue, 26 May 2009 12:15:39 GMT</pubDate>
      <description>&lt;p&gt;
Vous aez un iPAQ 614, vous savez que HP ne propose pas de mise à jour de l'OS (6.1
ou 6.5) et vous revez d'utiliser Windows Mobile 6.5 ? Alors faite un tour sur le site
de XDA-Developers !
&lt;/p&gt;
&lt;p&gt;
La procèdure de mise à jour est la suivante :
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
S'assurer que l'iPAQ est bien à jour (OS &amp;amp; Firmeware). Tout est disponible sur
le site d'HP 
&lt;li&gt;
Télécharger la ROM sur le site de &lt;a href="http://forum.xda-developers.com/showthread.php?t=496283"&gt;XDA-Developers&lt;/a&gt;.
Cette ROM n'est pas un mise à jour officiel de HP ! 
&lt;li&gt;
Mettre le fichier FLASH.DIO sur la SD du téléphon. Attention, cette SD ne doit pas
être plus grange que 2 GB. 
&lt;li&gt;
Eteinde l'appareil 
&lt;li&gt;
Presser en même temp le bouton "mute" et le bouton d'enregistrement de la voix, puis
le bouton marche/arrêt. 
&lt;li&gt;
L'appareil va s'allumer via le SD loader et flasher votre téléphone 
&lt;li&gt;
Vous avez un appareil en Windows Mobile 6.5 qui doit ressemble à ça :&lt;/li&gt;
&lt;/ol&gt;
&lt;p align=center&gt;
&lt;img src="http://www.vsdotnet.ch/content/binary/hp614c.jpg" border=0&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=838c1e92-6e55-4b6d-9720-b99779ba5fcb" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,838c1e92-6e55-4b6d-9720-b99779ba5fcb.aspx</comments>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=2b481417-f759-4781-87f0-57ed75641ba8</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,2b481417-f759-4781-87f0-57ed75641ba8.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,2b481417-f759-4781-87f0-57ed75641ba8.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=2b481417-f759-4781-87f0-57ed75641ba8</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">La version 0.93 de l'outil iContact est
disponible chez supware. Toujours gratuit, et même avec le code source !<img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=2b481417-f759-4781-87f0-57ed75641ba8" /></body>
      <title>iContact</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,2b481417-f759-4781-87f0-57ed75641ba8.aspx</guid>
      <link>http://www.vsdotnet.ch/2009/05/19/iContact.aspx</link>
      <pubDate>Tue, 19 May 2009 12:02:21 GMT</pubDate>
      <description>La version 0.93 de l'outil iContact est disponible chez supware. Toujours gratuit, et même avec le code source !&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=2b481417-f759-4781-87f0-57ed75641ba8" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,2b481417-f759-4781-87f0-57ed75641ba8.aspx</comments>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=ab7eb3f7-1e2b-4085-83b5-b84a28c79458</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,ab7eb3f7-1e2b-4085-83b5-b84a28c79458.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,ab7eb3f7-1e2b-4085-83b5-b84a28c79458.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=ab7eb3f7-1e2b-4085-83b5-b84a28c79458</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Pour tous ceux possédant un téléphone fonctionnant avec Windows Mobile, je vous suggère
un outil gratuit, <a href="http://www.supware.net/iContact/">iContact</a>, qui remplacera
avantageusement celui de base fournit par Microsoft.
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=ab7eb3f7-1e2b-4085-83b5-b84a28c79458" />
      </body>
      <title>Gestion des contactes sous Windows Mobile</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,ab7eb3f7-1e2b-4085-83b5-b84a28c79458.aspx</guid>
      <link>http://www.vsdotnet.ch/2008/11/28/GestionDesContactesSousWindowsMobile.aspx</link>
      <pubDate>Fri, 28 Nov 2008 16:01:17 GMT</pubDate>
      <description>&lt;p&gt;
Pour tous ceux possédant un téléphone fonctionnant avec Windows Mobile, je vous suggère
un outil gratuit, &lt;a href="http://www.supware.net/iContact/"&gt;iContact&lt;/a&gt;, qui&amp;nbsp;remplacera
avantageusement celui de base fournit par Microsoft.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=ab7eb3f7-1e2b-4085-83b5-b84a28c79458" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,ab7eb3f7-1e2b-4085-83b5-b84a28c79458.aspx</comments>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=1f6a9057-6909-4259-b0bc-8a26282071f2</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,1f6a9057-6909-4259-b0bc-8a26282071f2.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,1f6a9057-6909-4259-b0bc-8a26282071f2.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=1f6a9057-6909-4259-b0bc-8a26282071f2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Récement, j'ai experimenté quelqeus soucis avec un POC Merge Replication :
</p>
        <p>
          <strong>80004005 : Failure to connect to SQL Server</strong>
        </p>
        <p>
Le Merge Replication n’abouti pas. L’erreur ‘OpenDB failed getting pub version 28627’
est loguée dans le fichier SQLCESA30.LOG.
</p>
        <p>
Liste des contrôles à effectuer :
</p>
        <ul>
          <li>
S’assurer que le serveur de réplication fonctionne correctement :<br /><a href="http://nomduserveur/ssce/sqlcesa30.dll?diag">http://nomduserveur/ssce/sqlcesa30.dll?diag</a></li>
          <li>
Contrôler dans le fichier log (C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Server\SSCE\SQLCESA30.LOG)
que l’entrée ‘Hr=00000000 SQLCESA30.DLL loaded 0’</li>
        </ul>
        <p>
Vérifier le transport en effectuant des ‘ping’ entre Publisher, Distributor &amp;Replication.
</p>
        <ul>
          <li>
Si un des serveur ne répond pas, vérifier que le firewall est à off.</li>
        </ul>
        <p>
Vérifier que les différents serveurs (Publisher, Distributor &amp; Replication) communiquent
correctement :
</p>
        <ul>
          <li>
depuis le serveur de réplication :<br />
o osql –S PUBLISHER –E<br />
o osql –S DISTRIBUTOR –E</li>
          <li>
etc sur les autres serveurs ...</li>
        </ul>
        <p>
Si la communication ne fonctionne pas, vérifier dans ‘SQL Server Surface Area Configuration’
que les connections locales et distantes sont autorisées.
</p>
        <img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=1f6a9057-6909-4259-b0bc-8a26282071f2" />
      </body>
      <title>Troubleshhoting problèmes avec Merge Replication</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,1f6a9057-6909-4259-b0bc-8a26282071f2.aspx</guid>
      <link>http://www.vsdotnet.ch/2008/01/30/TroubleshhotingProbl%c3%a8mesAvecMergeReplication.aspx</link>
      <pubDate>Wed, 30 Jan 2008 15:43:54 GMT</pubDate>
      <description>&lt;p&gt;
Récement, j'ai experimenté quelqeus soucis avec un POC Merge Replication :
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;80004005 : Failure to connect to SQL Server&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Le Merge Replication n’abouti pas. L’erreur ‘OpenDB failed getting pub version 28627’
est loguée dans le fichier SQLCESA30.LOG.
&lt;/p&gt;
&lt;p&gt;
Liste des contrôles à effectuer :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
S’assurer que le serveur de réplication fonctionne correctement :&lt;br&gt;
&lt;a href="http://nomduserveur/ssce/sqlcesa30.dll?diag"&gt;http://nomduserveur/ssce/sqlcesa30.dll?diag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
Contrôler dans le fichier log (C:\Program Files\Microsoft SQL Server 2005 Mobile Edition\Server\SSCE\SQLCESA30.LOG)
que l’entrée ‘Hr=00000000 SQLCESA30.DLL loaded 0’&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Vérifier le transport en effectuant des ‘ping’ entre Publisher, Distributor &amp;amp;Replication.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Si un des serveur ne répond pas, vérifier que le firewall est à off.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Vérifier que les différents serveurs (Publisher, Distributor &amp;amp; Replication) communiquent
correctement :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
depuis le serveur de réplication :&lt;br&gt;
o&amp;nbsp;osql –S PUBLISHER –E&lt;br&gt;
o&amp;nbsp;osql –S DISTRIBUTOR –E&lt;/li&gt;
&lt;li&gt;
etc sur les autres serveurs ...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Si la communication ne fonctionne pas, vérifier dans ‘SQL Server Surface Area Configuration’
que les connections locales et distantes sont autorisées.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=1f6a9057-6909-4259-b0bc-8a26282071f2" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,1f6a9057-6909-4259-b0bc-8a26282071f2.aspx</comments>
      <category>Merge Replication</category>
      <category>SQL-Server 2005</category>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=32ece369-95e2-47c4-8708-5e4032cb04e9</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,32ece369-95e2-47c4-8708-5e4032cb04e9.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,32ece369-95e2-47c4-8708-5e4032cb04e9.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=32ece369-95e2-47c4-8708-5e4032cb04e9</wfw:commentRss>
      <title>SQL Server Compact Merge replication</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,32ece369-95e2-47c4-8708-5e4032cb04e9.aspx</guid>
      <link>http://www.vsdotnet.ch/2008/01/18/SQLServerCompactMergeReplication.aspx</link>
      <pubDate>Fri, 18 Jan 2008 15:42:24 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;Je compulse actuellement le livre
Windows Mobile Data Synchronization with SQL Server and SQL Server Compact 3.1 de &lt;a href="http://blogs.msdn.com/robtiffany/"&gt;Rob
Tiffany&lt;/a&gt;, principalement pour appréhender la synchronisation de données entre un
PPC et une base centralisée.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face="Times New Roman"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;Rob donne un coup de projecteur
sur une utilisation assez surprenante du Merge Replication. Comme 99% des personnes,
je pense à cette technologie pour maintenir à jour des données et structures sur un
PPC et une base SQL-Server centralisée. Rob pousse la réflexion plus loin et propose
d’utiliser cette technologie pour pousser toutes sortes d’information sur le PPC.
Et donc pourquoi pas des applications ou des policies&amp;nbsp;?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;L’exemple est trop simple et on
se demande pourquoi ne pas y avoir pensé avant … &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;font size=3&gt;&lt;font color=#000000&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;font face="Times New Roman" color=#000000 size=3&gt;Le PPC est abonné (Subscription)
à un article (Article). Au niveau physique, le PPC est abonnée à une table avec un
champ. Un niveau serveur, on renseigne ce champ avec l’application (en binaire). A
la prochaine connexion, l’application est poussée sur la PPC par le serveur de réplication.
Supposons qu’un agent tourne sur le PPC et se charge d’installer les applications
trouvées dans cette table, et le tour est joué&amp;nbsp;! Même principe pour des settings
systeme ...&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;
&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-ansi-language: FR; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-bidi-language: AR-SA"&gt;&lt;font color=#000000&gt;C’est
tellement simple que j’ai presque envie de faire le test&amp;nbsp;!&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-ansi-language: FR; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: FR; mso-bidi-language: AR-SA"&gt;&lt;font color=#000000&gt;Stéphane&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=32ece369-95e2-47c4-8708-5e4032cb04e9" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,32ece369-95e2-47c4-8708-5e4032cb04e9.aspx</comments>
      <category>Windows Mobile</category>
      <category>SQL-Server </category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=b74c0d11-138e-4304-b8d4-8dee34ffb7df</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,b74c0d11-138e-4304-b8d4-8dee34ffb7df.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,b74c0d11-138e-4304-b8d4-8dee34ffb7df.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=b74c0d11-138e-4304-b8d4-8dee34ffb7df</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <img height="96" src="http://www.vsdotnet.ch/content/binary/WM7.jpg" width="175" border="0" />
        <a href="http://microsoft.blognewschannel.com/archives/2008/01/06/exclusive-windows-mobile-7-to-focus-on-touch-and-motion-gestures/">Plus
d'informations</a> sur les nombreuses nouveautés annoncés pour Windows Mobile 7<img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=b74c0d11-138e-4304-b8d4-8dee34ffb7df" /></body>
      <title>Windows Mobile 7 en ... 2009 !</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,b74c0d11-138e-4304-b8d4-8dee34ffb7df.aspx</guid>
      <link>http://www.vsdotnet.ch/2008/01/07/WindowsMobile7En2009.aspx</link>
      <pubDate>Mon, 07 Jan 2008 12:02:17 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;img height=96 src="http://www.vsdotnet.ch/content/binary/WM7.jpg" width=175 border=0&gt;&lt;a href="http://microsoft.blognewschannel.com/archives/2008/01/06/exclusive-windows-mobile-7-to-focus-on-touch-and-motion-gestures/"&gt;Plus
d'informations&lt;/a&gt; sur les nombreuses nouveautés annoncés pour Windows Mobile 7&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=b74c0d11-138e-4304-b8d4-8dee34ffb7df" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,b74c0d11-138e-4304-b8d4-8dee34ffb7df.aspx</comments>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=3d75132f-cf79-4786-be9e-36e71968a963</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,3d75132f-cf79-4786-be9e-36e71968a963.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,3d75132f-cf79-4786-be9e-36e71968a963.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=3d75132f-cf79-4786-be9e-36e71968a963</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img src="http://www.vsdotnet.ch/content/binary/WinMobile2006_ltr.gif" border="0" />
        </p>
        <p>
Voici l'article que j'ai publié sous <a href="http://www.codeproject.com">www.codeproject.com</a>,
résultat de mon expérience suite au développement d'un POC ...
</p>
        <h2>Introduction
</h2>
        <p>
Windows Mobile is a great production device. But by default, the device give access
to all functionalities (e-mail, contacts ...) and in particular context, you will
probably be interested to restrict end-user access to some of these functionalities.
</p>
        <p>
You'll have two options:
</p>
        <li>
Integrate in the standard Sheel 
</li>
        <li>
Customize the system in kiosk mode 
<p>
I'll focus on the second option. In order to set the system in kiosk mode, we'll have
to:
</p></li>
        <li>
Write an application with a screen which will work like the 'Today' screen 
</li>
        <li>
Control the hardware button to restrict access to Windows Mobile functionalities 
</li>
        <li>
Of course, have the application launch at startup 
</li>
        <li>
This is a non exhaustive list... 
<h2>Background
</h2><p>
I will not focus on Compact Framework development and OS low level library interaction.
But keep in mind the .Net Compact Framework Artchitecture:
</p></li>
        <li>
Framework 
</li>
        <li>
Common Language Runtime 
</li>
        <li>
Windows CE 
<p>
You will then understand why we reference <code>microsoft.windowsce.forms</code> for
low level functionality
</p><p>
I also use OpenNETCF <a href="www.openNETCF.com">www.openNETCF.com</a> for reading/writing
registry. Library is fully explained on their web-site.
</p><h2>Using the code
</h2><p>
Our first task is to create a new Smart Device project from Visual Studio. As mentioned
in the introduction, we'll set properties of the default Form <code>Form1.cs</code> in
order to create a 'Today' like screen. You can do it using the properties windows
or by code :
</p><pre lang="cs">public frmKiosk()
{
    InitializeComponent();

    ControlBox = false;
    FormBorderStyle = FormBorderStyle.None;
    MaximizeBox = false;
    MinimizeBox = false;
    WindowState = FormWindowState.Maximized;
}
</pre><p>
Now, we'll have to control hardware button. This is done using the <code>Microsoft.WindowsCE.Form.MessageWindows</code>.
This class will allow us to intercept Windows Messages and decide how to handle them
(internal routine, raising events to be handled by other class, or ... do nothing).
This will allow us to intercept messages send by hardware button and simply decide
to not react to them!
</p><p>
The logic is quite simple: 
</p></li>
        <li>
Create a class which will inherit from <code>MessageWindows</code>. Override the <code>WndProc</code> method
to catch windows message and implement our own business logic. We will intercept only <code>HOTKEY</code> message,
but the same code could be use to handle all windows message type (full list here: <a href="http:\\www.pinvoke.net">http:\\www.pinvoke.net</a>) 
</li>
        <li>
Unregister the hardware button : by default, message raised by hardware button are
handled by the default process 
</li>
        <li>
Register the hardware button : message raised by hardware button will be handled by
our custom <code>MessageWindows</code><p></p><p>
The code of our custom <code>MessageWindows</code> will be like this: 
</p><pre lang="cs">public class internalMessageWindow : MessageWindow
{
        // Which message type ?
        public const int WM_HOTKEY = 0x0312;

        Form referedForm;

        public internalMessageWindow(Form referedForm)
        {
            this.referedForm = referedForm;
        }

        protected override void WndProc(ref Message msg)
        {
            switch (msg.Msg)
            {
                case WM_HOTKEY:
                    // Do no reply to this key ...
                    return;
            }
            base.WndProc(ref msg);
        }
}
</pre><p>
We have now to link our form with our custom <code>WindowsMessage</code></p><pre lang="cs">FormCode
{    
    internalMessageWindow messageWindow;
    public Form Constructor()
    {
        this.messageWindow = new internalMessageWindow(this); 
    }        
}
</pre><p>
And unregister/register hardware buttons using <code>UnregisterFunc1</code> and <code>RegisterRecordKey</code> from <code>coredll.dll</code> (see <a href="http:\\www.pinvoke.net">http:\\www.pinvoke.net</a> for
signature detail
</p><pre lang="cs">FormCode
{    
    public Form Constructor()
    {
        ...
        RegisterHKeys.RegisterRecordKey(this.messageWindow.Hwnd);
    }        
}
public class RegisterHKeys
    {
        [DllImport("coredll.dll", SetLastError = true)]
        public static extern bool RegisterHotKey
        ...
        and
        private static extern bool UnregisterFunc1
        ...
        
        public static void RegisterRecordKey(IntPtr hWnd)
        {
            UnregisterFunc1(KeyModifiers.Windows, (int)KeysHardware.Hardware1);
            RegisterHotKey(hWnd, (int)KeysHardware.Hardware1, KeyModifiers.Windows, (int)KeysHardware.Hardware1);
            
            // Repeat for every single hardware button you wan to handle
        }
    }
</pre><p>
Now, we need to force our application to start avery time the Windows Mobile is started.
This could be done using the <code>CeRunAppAtEvent</code> function of the <code>coredll.dll</code> library.
This function allows linking an application to a specific event of the device. In
our context, we'll link our application to the <code>Wakeup</code> event. This mean
that every time the device is started, the <code>Wakeup</code> event will be raised,
an as we will like our application with this event, our application will be started. 
</p><p>
To link application to event, we'll use this code:
</p><pre lang="cs">Win32.CeRunAppAtEvent(_kioskName, NotificationEvent.Wakeup);
</pre><p>
And we'll use this code to 'unlink' application / event:
</p><pre lang="cs">Win32.CeRunAppAtEvent(_kioskName, NotificationEvent.Wakeup);
</pre><p>
So now, we have a start page, which appears every time the device is started. And
we have also caught button events to disable hardware interaction. Final step is to
allow end-user to launch specific application and wait that this application to be
closed to return to our start page.
</p><p>
This is a quite easy step, using <code>ProcessStartInfo</code> class. This will allows
us to start an application in a new process and put our current application in a waiting
state, waiting that a specific process exit.
</p><p>
To start a new process, we'll use this code, which will return the process handler:
</p><pre lang="cs">private static Process LaunchApp(string filename)
{
    ProcessStartInfo s = new ProcessStartInfo();
    s.FileName = filename;
    s.UseShellExecute = true;
    return Process.Start(s);
}
</pre><p>
And we have just to add routine to start an application, waiting the process to exit,
with this code:
</p><pre lang="cs">private void but_Click(object sender, EventArgs e)
{
    this.Hide();
    Process ela = LaunchApp(application2);
    ela.WaitForExit();
    this.Show();
}
</pre><h2>Things to be aware
</h2></li>
        <li>
Hard reset of the device is not handled. Doing an hard reset will unsubscribe the
application from the <code>Wakeup</code> event. 
</li>
        <li>
This solution is not portable ! Form is designed for a specific resolution (240x320
in this sample) and device with the default four hardware buttons. Installing it a
device with other specification will fail. 
<h2>How to
</h2><p><b>Handling non standard hardware button</b><br />
The sample is based on default device, with four buttons. If your target device has
more buttons, or that <code>MessageWindow</code> didn't catch button interaction,
you'll have to validate your button code. Use Registry Editor (Remote Registry Editor)
and go in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Keys\. You will see multiple
"Folders", corresponding to your hardware keys, like 40C1, 40C2, ... Convert the last
two letters to Decimal and you will get your button key (C1=193,C2=194,...) 
</p><h2>Conclusion
</h2><p>
This sample is far from a production product, but show that handling specific device
like PocketPC is quite easy. Interacting with such hardware need a little bit of pinvoke,
as compact framework encapsulates some but not all functionalities. Any comments/proposition
are welcomes
</p><h2>Reference
</h2></li>
        <li>
          <a href="http://msdn2.microsoft.com/en-us/netframework/bb693461.aspx">MSDN : Get an
Application to Automatically Start When a mobile Device Wakes Up?</a>
          <h2>History
</h2>
        </li>
        <li>
08/10/2007: Posted to CodeProject</li>
        <img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=3d75132f-cf79-4786-be9e-36e71968a963" />
      </body>
      <title>Windows Mobile en mode Kiosk</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,3d75132f-cf79-4786-be9e-36e71968a963.aspx</guid>
      <link>http://www.vsdotnet.ch/2007/08/10/WindowsMobileEnModeKiosk.aspx</link>
      <pubDate>Fri, 10 Aug 2007 11:43:10 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img src="http://www.vsdotnet.ch/content/binary/WinMobile2006_ltr.gif" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
Voici l'article que j'ai publié sous &lt;a href="http://www.codeproject.com"&gt;www.codeproject.com&lt;/a&gt;,
résultat de mon expérience suite au développement d'un POC ...
&lt;/p&gt;
&lt;h2&gt;Introduction
&lt;/h2&gt;
&lt;p&gt;
Windows Mobile is a great production device. But by default, the device give access
to all functionalities (e-mail, contacts ...) and in particular context, you will
probably be interested to restrict end-user access to some of these functionalities.
&lt;/p&gt;
&lt;p&gt;
You'll have two options:
&lt;/p&gt;
&lt;li&gt;
Integrate in the standard Sheel 
&lt;li&gt;
Customize the system in kiosk mode 
&lt;p&gt;
I'll focus on the second option. In order to set the system in kiosk mode, we'll have
to:
&lt;/p&gt;
&lt;li&gt;
Write an application with a screen which will work like the 'Today' screen 
&lt;li&gt;
Control the hardware button to restrict access to Windows Mobile functionalities 
&lt;li&gt;
Of course, have the application launch at startup 
&lt;li&gt;
This is a non exhaustive list... 
&lt;h2&gt;Background
&lt;/h2&gt;
&lt;p&gt;
I will not focus on Compact Framework development and OS low level library interaction.
But keep in mind the .Net Compact Framework Artchitecture:
&lt;/p&gt;
&lt;li&gt;
Framework 
&lt;li&gt;
Common Language Runtime 
&lt;li&gt;
Windows CE 
&lt;p&gt;
You will then understand why we reference &lt;code&gt;microsoft.windowsce.forms&lt;/code&gt; for
low level functionality
&lt;/p&gt;
&lt;p&gt;
I also use OpenNETCF &lt;a href="www.openNETCF.com"&gt;www.openNETCF.com&lt;/a&gt; for reading/writing
registry. Library is fully explained on their web-site.
&lt;/p&gt;
&lt;h2&gt;Using the code
&lt;/h2&gt;
&lt;p&gt;
Our first task is to create a new Smart Device project from Visual Studio. As mentioned
in the introduction, we'll set properties of the default Form &lt;code&gt;Form1.cs&lt;/code&gt; in
order to create a 'Today' like screen. You can do it using the properties windows
or by code :
&lt;/p&gt;
&lt;pre lang=cs&gt;public frmKiosk()
{
    InitializeComponent();

    ControlBox = false;
    FormBorderStyle = FormBorderStyle.None;
    MaximizeBox = false;
    MinimizeBox = false;
    WindowState = FormWindowState.Maximized;
}
&lt;/pre&gt;
&lt;p&gt;
Now, we'll have to control hardware button. This is done using the &lt;code&gt;Microsoft.WindowsCE.Form.MessageWindows&lt;/code&gt;.
This class will allow us to intercept Windows Messages and decide how to handle them
(internal routine, raising events to be handled by other class, or ... do nothing).
This will allow us to intercept messages send by hardware button and simply decide
to not react to them!
&lt;/p&gt;
&lt;p&gt;
The logic is quite simple: 
&lt;/p&gt;
&lt;li&gt;
Create a class which will inherit from &lt;code&gt;MessageWindows&lt;/code&gt;. Override the &lt;code&gt;WndProc&lt;/code&gt; method
to catch windows message and implement our own business logic. We will intercept only &lt;code&gt;HOTKEY&lt;/code&gt; message,
but the same code could be use to handle all windows message type (full list here: &lt;a href="http:\\www.pinvoke.net"&gt;http:\\www.pinvoke.net&lt;/a&gt;) 
&lt;li&gt;
Unregister the hardware button : by default, message raised by hardware button are
handled by the default process 
&lt;li&gt;
Register the hardware button : message raised by hardware button will be handled by
our custom &lt;code&gt;MessageWindows&lt;/code&gt; 
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
The code of our custom &lt;code&gt;MessageWindows&lt;/code&gt; will be like this: 
&lt;/p&gt;
&lt;pre lang=cs&gt;public class internalMessageWindow : MessageWindow
{
        // Which message type ?
        public const int WM_HOTKEY = 0x0312;

        Form referedForm;

        public internalMessageWindow(Form referedForm)
        {
            this.referedForm = referedForm;
        }

        protected override void WndProc(ref Message msg)
        {
            switch (msg.Msg)
            {
                case WM_HOTKEY:
                    // Do no reply to this key ...
                    return;
            }
            base.WndProc(ref msg);
        }
}
&lt;/pre&gt;
&lt;p&gt;
We have now to link our form with our custom &lt;code&gt;WindowsMessage&lt;/code&gt;
&lt;/p&gt;
&lt;pre lang=cs&gt;FormCode
{    
    internalMessageWindow messageWindow;
    public Form Constructor()
    {
        this.messageWindow = new internalMessageWindow(this); 
    }        
}
&lt;/pre&gt;
&lt;p&gt;
And unregister/register hardware buttons using &lt;code&gt;UnregisterFunc1&lt;/code&gt; and &lt;code&gt;RegisterRecordKey&lt;/code&gt; from &lt;code&gt;coredll.dll&lt;/code&gt; (see &lt;a href="http:\\www.pinvoke.net"&gt;http:\\www.pinvoke.net&lt;/a&gt; for
signature detail
&lt;/p&gt;
&lt;pre lang=cs&gt;FormCode
{    
    public Form Constructor()
    {
        ...
        RegisterHKeys.RegisterRecordKey(this.messageWindow.Hwnd);
    }        
}
public class RegisterHKeys
    {
        [DllImport("coredll.dll", SetLastError = true)]
        public static extern bool RegisterHotKey
        ...
        and
        private static extern bool UnregisterFunc1
        ...
        
        public static void RegisterRecordKey(IntPtr hWnd)
        {
            UnregisterFunc1(KeyModifiers.Windows, (int)KeysHardware.Hardware1);
            RegisterHotKey(hWnd, (int)KeysHardware.Hardware1, KeyModifiers.Windows, (int)KeysHardware.Hardware1);
            
            // Repeat for every single hardware button you wan to handle
        }
    }
&lt;/pre&gt;
&lt;p&gt;
Now, we need to force our application to start avery time the Windows Mobile is started.
This could be done using the &lt;code&gt;CeRunAppAtEvent&lt;/code&gt; function of the &lt;code&gt;coredll.dll&lt;/code&gt; library.
This function allows linking an application to a specific event of the device. In
our context, we'll link our application to the &lt;code&gt;Wakeup&lt;/code&gt; event. This mean
that every time the device is started, the &lt;code&gt;Wakeup&lt;/code&gt; event will be raised,
an as we will like our application with this event, our application will be started. 
&lt;/p&gt;
&lt;p&gt;
To link application to event, we'll use this code:
&lt;/p&gt;
&lt;pre lang=cs&gt;Win32.CeRunAppAtEvent(_kioskName, NotificationEvent.Wakeup);
&lt;/pre&gt;
&lt;p&gt;
And we'll use this code to 'unlink' application / event:
&lt;/p&gt;
&lt;pre lang=cs&gt;Win32.CeRunAppAtEvent(_kioskName, NotificationEvent.Wakeup);
&lt;/pre&gt;
&lt;p&gt;
So now, we have a start page, which appears every time the device is started. And
we have also caught button events to disable hardware interaction. Final step is to
allow end-user to launch specific application and wait that this application to be
closed to return to our start page.
&lt;/p&gt;
&lt;p&gt;
This is a quite easy step, using &lt;code&gt;ProcessStartInfo&lt;/code&gt; class. This will allows
us to start an application in a new process and put our current application in a waiting
state, waiting that a specific process exit.
&lt;/p&gt;
&lt;p&gt;
To start a new process, we'll use this code, which will return the process handler:
&lt;/p&gt;
&lt;pre lang=cs&gt;private static Process LaunchApp(string filename)
{
    ProcessStartInfo s = new ProcessStartInfo();
    s.FileName = filename;
    s.UseShellExecute = true;
    return Process.Start(s);
}
&lt;/pre&gt;
&lt;p&gt;
And we have just to add routine to start an application, waiting the process to exit,
with this code:
&lt;/p&gt;
&lt;pre lang=cs&gt;private void but_Click(object sender, EventArgs e)
{
    this.Hide();
    Process ela = LaunchApp(application2);
    ela.WaitForExit();
    this.Show();
}
&lt;/pre&gt;
&lt;h2&gt;Things to be aware
&lt;/h2&gt;
&lt;li&gt;
Hard reset of the device is not handled. Doing an hard reset will unsubscribe the
application from the &lt;code&gt;Wakeup&lt;/code&gt; event. 
&lt;li&gt;
This solution is not portable ! Form is designed for a specific resolution (240x320
in this sample) and device with the default four hardware buttons. Installing it a
device with other specification will fail. 
&lt;h2&gt;How to
&lt;/h2&gt;
&lt;p&gt;
&lt;b&gt;Handling non standard hardware button&lt;/b&gt;
&lt;br&gt;
The sample is based on default device, with four buttons. If your target device has
more buttons, or that &lt;code&gt;MessageWindow&lt;/code&gt; didn't catch button interaction,
you'll have to validate your button code. Use Registry Editor (Remote Registry Editor)
and go in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shell\Keys\. You will see multiple
"Folders", corresponding to your hardware keys, like 40C1, 40C2, ... Convert the last
two letters to Decimal and you will get your button key (C1=193,C2=194,...) 
&lt;/p&gt;
&lt;h2&gt;Conclusion
&lt;/h2&gt;
&lt;p&gt;
This sample is far from a production product, but show that handling specific device
like PocketPC is quite easy. Interacting with such hardware need a little bit of pinvoke,
as compact framework encapsulates some but not all functionalities. Any comments/proposition
are welcomes
&lt;/p&gt;
&lt;h2&gt;Reference
&lt;/h2&gt;
&lt;li&gt;
&lt;a href="http://msdn2.microsoft.com/en-us/netframework/bb693461.aspx"&gt;MSDN : Get an
Application to Automatically Start When a mobile Device Wakes Up?&lt;/a&gt; 
&lt;h2&gt;History
&lt;/h2&gt;
&lt;li&gt;
08/10/2007: Posted to CodeProject&lt;/li&gt;&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=3d75132f-cf79-4786-be9e-36e71968a963" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,3d75132f-cf79-4786-be9e-36e71968a963.aspx</comments>
      <category>Windows Mobile</category>
    </item>
    <item>
      <trackback:ping>http://www.vsdotnet.ch/Trackback.aspx?guid=a8655cbc-f9c0-4ad5-b1c0-e2b1dd716add</trackback:ping>
      <pingback:server>http://www.vsdotnet.ch/pingback.aspx</pingback:server>
      <pingback:target>http://www.vsdotnet.ch/PermaLink,guid,a8655cbc-f9c0-4ad5-b1c0-e2b1dd716add.aspx</pingback:target>
      <dc:creator>Stéphane Schwartz</dc:creator>
      <wfw:comment>http://www.vsdotnet.ch/CommentView,guid,a8655cbc-f9c0-4ad5-b1c0-e2b1dd716add.aspx</wfw:comment>
      <wfw:commentRss>http://www.vsdotnet.ch/SyndicationService.asmx/GetEntryCommentsRss?guid=a8655cbc-f9c0-4ad5-b1c0-e2b1dd716add</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.microsoft.com/windowsmobile/default.mspx">
            <img title="" height="42" alt="Windows Mobile (US)" src="http://www.microsoft.com/library/toolbar/3.0/images/banners/WinMobile2006_ltr.gif" width="225" border="0" />
          </a>
        </p>
        <p>
Je travail actuellement<font color="#000000"> sur un projet</font> ayant comme
cible des Windows Mobile 6. 
</p>
        <p>
Mon premier soucis à été de trouver un moyen "simple" d'éditer la base de registre
de ces machines. 
<br /><a href="http://www.breaksoft.com/Blog/Utilities/2005/1/Mobile_Registry_Editor.aspx">Mobile
Registry Editor</a> permet d'éditer comfortablement la base de registre du device
connecté via ActiveSync.<br />
Remote Registry Editor et fournit avec le SDK, et fonctionne selon le même principe
que le produit ci-dessus.<br /><a href="http://www.codeproject.com/ce/redit.asp">Registry Editor for Windows CE</a> est
un logiciel trouvé sur <a href="http://www.codeproject,com/">www.CodeProject,com</a>,
qui s'installe sur le PocketPC et permet d'éditer directement se base de registre
</p>
        <p>
Pour explorer les fenêtres actives du PocketPC, le produti Windows CE Remote Spy est
fournit avec le SDK.
</p>
        <p>
La suite demain.
</p>
        <p>
Stéphane
</p>
        <img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=a8655cbc-f9c0-4ad5-b1c0-e2b1dd716add" />
      </body>
      <title>Windows Mobile Registry editor</title>
      <guid isPermaLink="false">http://www.vsdotnet.ch/PermaLink,guid,a8655cbc-f9c0-4ad5-b1c0-e2b1dd716add.aspx</guid>
      <link>http://www.vsdotnet.ch/2007/08/08/WindowsMobileRegistryEditor.aspx</link>
      <pubDate>Wed, 08 Aug 2007 13:52:14 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.microsoft.com/windowsmobile/default.mspx"&gt;&lt;img title="" height=42 alt="Windows Mobile (US)" src="http://www.microsoft.com/library/toolbar/3.0/images/banners/WinMobile2006_ltr.gif" width=225 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Je travail actuellement&lt;font color=#000000&gt; sur un projet&lt;/font&gt;&amp;nbsp;ayant comme
cible des Windows Mobile 6. 
&lt;/p&gt;
&lt;p&gt;
Mon premier soucis à été de trouver un moyen "simple" d'éditer la base de registre
de ces machines. 
&lt;br&gt;
&lt;a href="http://www.breaksoft.com/Blog/Utilities/2005/1/Mobile_Registry_Editor.aspx"&gt;Mobile
Registry Editor&lt;/a&gt; permet d'éditer comfortablement la base de registre du device
connecté via ActiveSync.&lt;br&gt;
Remote Registry Editor et fournit avec le SDK, et fonctionne selon le même principe
que le produit ci-dessus.&lt;br&gt;
&lt;a href="http://www.codeproject.com/ce/redit.asp"&gt;Registry Editor for Windows CE&lt;/a&gt; est
un logiciel trouvé sur &lt;a href="http://www.codeproject,com/"&gt;www.CodeProject,com&lt;/a&gt;,
qui s'installe sur le PocketPC et permet d'éditer directement se base de registre
&lt;/p&gt;
&lt;p&gt;
Pour explorer les fenêtres actives du PocketPC, le produti Windows CE Remote Spy est
fournit avec le SDK.
&lt;/p&gt;
&lt;p&gt;
La suite demain.
&lt;/p&gt;
&lt;p&gt;
Stéphane
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.vsdotnet.ch/aggbug.ashx?id=a8655cbc-f9c0-4ad5-b1c0-e2b1dd716add" /&gt;</description>
      <comments>http://www.vsdotnet.ch/CommentView,guid,a8655cbc-f9c0-4ad5-b1c0-e2b1dd716add.aspx</comments>
      <category>Windows Mobile</category>
    </item>
  </channel>
</rss>