tag:blogger.com,1999:blog-91995699071277939302008-07-25T07:11:51.166-07:00FabienDecret's WeblogFabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comBlogger101125tag:blogger.com,1999:blog-9199569907127793930.post-51140309780131122262008-06-23T09:37:00.000-07:002008-07-21T01:21:51.210-07:0030 applications during June<p>Here is an interested link with the presentation of a small Windows Mobile application each day of June.<br /><br />Voici un lien intéressant avec une présentation de petites applications Windows Mobile chaque jour du mois de juin.<br /><br />Les applications présentées sont les suivantes : </p><p>GPS Clock<br />MobileInfo<br />Mobile Flashlight<br />CallBlocker<br />Repeatr<br />GeoCash<br />SmartDial<br /><br /><br /><a href="http://www.cjcraft.com/blog/default,month,2008-06.aspx">http://www.cjcraft.com/blog/default,month,2008-06.aspx</a> </p><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-18293950364907104752008-06-20T05:53:00.000-07:002008-07-21T01:15:47.836-07:00Windows Embedded NavReady<div align="justify">Qu'est-ce que ça apporte en plus ?<br /><br />NavReady permet de "mettre rapidement sur le marché des appareils de navigation sophistiqués, pouvant être reliés à des services en ligne, à des téléphones compatibles Bluetooth, à des PC sous Windows et à Internet".<br />Windows Embedded NavReady est basé sur Ce5.0 car la plupart des PND actuels du marché sont basés sur cet OS.<br /><br />What does it bring?<br /><br />NavReady provides OEMs with powerful, innovative technologies to help them quickly bring to market smart, connected, service-oriented hand held portable navigation devices that can easily connect to online services, Bluetooth capable mobile phones, Windows-based PCs, and the Internet.<br /><br />Les nouveaux composants proposés sont :<br /></div><ul><li><div align="justify">Live Search pour retrouver les informations concernant les POI.</div></li><li><div align="justify">the ability to perform <a href="http://msdn.microsoft.com/en-us/library/cc510606.aspx" target="_blank"><strong>Live Search</strong></a> to find POI information.<br /></div></li><li><div align="justify">Possibilité de coupler son PND à son téléphone portable via Bluetooth pour la gestion des communications.</div></li><li><div align="justify">key <strong>Bluetooth technologies</strong> enabling PNDs to provide rich hands-free scenarios to end-users and managed dialup networking services to applications on the device when used together with compatible Bluetooth capable phones.<br /></div></li><li><div align="justify">possibilités d'intégrer les technos MSN Direct pour obtenir des informations en temps réel sur le trafic ou le prix de l'essence par exemple.</div></li><li><div align="justify">enabling OEMs to integrate <a href="http://www.msndirect.com/Partners.aspx?tab=Overview" target="_blank"><strong>MSN Direct</strong></a> technologies by providing up-to-date information such as traffic alerts and fuel prices.<br /></div></li><li><div align="justify">Possibilité de connecter son PND à son PC Vista via Windows Sideshow.</div></li><li><div align="justify">Inside the home, GPS devices will be able to function as a <a href="http://www.microsoft.com/windows/products/windowsvista/features/details/sideshow.mspx" target="_blank">Windows <strong>Sideshow</strong> device to Windows Vista</a>, allowing the device to interact with various Windows Vista gadgets to receive, send or display information important to the end-user.</div></li></ul><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-83873897768018283042008-06-16T09:59:00.001-07:002008-07-21T01:10:13.240-07:00RAPI OpenNetCF BugSi vous utilisez les wrappers OPENNetCF pour RAPI, quelques fois vous obtiendrez une erreur fatale lors du transfert de fichiers, pour corriger ce problème, il suffit d'augmenter la taille du buffer data de la structure FileInformation.<br />If you use OPENNetCF RAPI wrapper, sometimes you will a fatal excecution exception error when tranfering files. Change the data buffer size of the structure FileInformation.<br /><br />public class FileInformation //WIN32_FIND_DATA {<br /><br />private byte[] data = new byte[512];<br /><br /><br />to<br /><br />public class FileInformation //WIN32_FIND_DATA {<br /><br />private byte[] data = new byte[560];<div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-87952868664537390172008-06-05T08:41:00.000-07:002008-06-05T09:12:40.245-07:00Detect SDCard ou USB key insertionVoici deux petits exemples de code permettant de détecter l'insertion d'une SDCard ou d'une clé USB :<br />Here are 2 code examples for detecting SDCard orUSB key insertion:<br />avec la WndProc :<br />with the WndProc:<br />case WM_DEVICECHANGE:<br />if (wParam == DBT_DEVICEARRIVAL)<br />{<br /> Sleep(300);<br /> WIN32_FIND_DATA fd;<br /> if (FindFirstFile(L"sdmmc disk", &amp;fd) != INVALID_HANDLE_VALUE)<br /> {<br /> //Add your code<br /> }<br />}<br />break;<br /><br />avec les notifications Windows CE :<br />With the Windows CE system notifications:<br />m_DevNotifyGuid = STORE_MOUNT_GUID;<br />memset(&amp;m_tMsgQOptions, 0, sizeof(m_tMsgQOptions));<br />m_tMsgQOptions.dwSize = sizeof(m_tMsgQOptions);<br />m_tMsgQOptions.dwFlags = 0;<br />m_tMsgQOptions.dwMaxMessages = 0;<br />m_tMsgQOptions.cbMaxMessage = 4096;<br />m_tMsgQOptions.bReadAccess = TRUE;<br />m_hDevNotifyMsgQ = CreateMsgQueue(NULL, &amp;m_tMsgQOptions);<br />m_hDevNotify = RequestDeviceNotifications( &amp;m_DevNotifyGuid, m_hDevNotifyMsgQ, TRUE );<br /><br />// Infinite Loop to detect all mounted drive<br />while (true)<br />{<br /> // Wait for notifications<br /> WaitForSingleObject(m_hDevNotifyMsgQ,INFINITE);<br /> ReadMsgQueue(m_hDevNotifyMsgQ, lpBuffer,4096,&amp;dwNbRead,1000,&amp;dwFlags);<br /> // Add your code<br />}<br /><br />Pour utiliser les notifications en C#, il suffit de faire les imports des fonctions suivantes :<br />To use the notifications in C#, you have to import the following functions:<br />-RequestDeviceNotifications<br />-StopDeviceNotifications<br />-WaitForSingleObject<br />-CreateMsgQueue<br />-ReadMsgQueue<br />Ou de surcharger la WndProc pour la première méthode.<br />Or override the WndProc for the first example.<br /><br />Ce code peut aussi être utile au démarrage de votre device si vous souhaitez lancer une application C# installée sur une SD.<br />This code can be also used if you have a startup application installed on a SDCard.<div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-41657687880321055452008-05-12T12:58:00.001-07:002008-05-12T13:08:45.075-07:00MICROSOFT Mobility Briefing 2008<div align="justify"><a href="http://bp0.blogger.com/_q45CSOPLx24/SCihkdjdCoI/AAAAAAAAARM/1z6z-FnQK14/s1600-h/header.jpg"><img id="BLOGGER_PHOTO_ID_5199583417579932290" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_q45CSOPLx24/SCihkdjdCoI/AAAAAAAAARM/1z6z-FnQK14/s320/header.jpg" border="0" /></a>Bonjour à tous,<br /></div><div align="justify"></div><div align="justify"><br /></div><div align="justify">Je présenterai une session Spécial Développeurs au Windows Mobile Briefing 2008 à Paris le 20 mai. Cette session présentera le développement avec Visual Studio 2008 pour des terminaux Windows Mobile. Je commencerai par une présentation du dév pour les PDAs, puis les nouveautés de VS 2008 avec les nouveaux outils intégrés, et les nouveautés du Compact Framework 3.5 avec notamment les WCF et LINQ, le tout bien sûr avec de nombreuses démos....</div><div align="justify">Ensuite, Stéphane Sibué de CodePPC nous présentera une application qui permet de prendre des photos et de les géo localiser de manière automatique. Nous vous y attendons très nombreux...</div><div align="justify"></div><div align="justify">This event will be in Paris in french only.</div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-74498859169695950582008-04-20T13:17:00.000-07:002008-04-20T13:24:45.218-07:00Custom cursor<div align="justify">Un article très intéressant sur comment créer un curseur animé personnalisé sous Windows Mobile. Tout d'abord il est nécessaire de créer une DLL native en C++ qui utilise l'API WINCE LoadAnimatedCursor et SetCursor. Ensuite, il suffit d'importer les fonctions de cette DLL dans un projet C#.</div><div align="justify"> </div><div align="justify"><a href="http://www.christec.co.nz/blog/archives/category/user-interface/">http://www.christec.co.nz/blog/archives/category/user-interface/</a></div><div align="justify"> </div><div align="justify">A very usefull article on how to create a custom animated wait cursor on Windows Mobile.</div><div align="justify"><a href="http://www.christec.co.nz/blog/archives/category/user-interface/">http://www.christec.co.nz/blog/archives/category/user-interface/</a></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-86927413188138843402008-04-20T13:02:00.000-07:002008-04-20T13:11:32.628-07:00Detect Windows Mobile VersionSi vous voulez savoir quelle version de <a href="http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.WhatIsAnAKU">Adaptation Kit Update (AKU)</a> vous disposez dans votre device Windows Mobile, jetez un oeil sur ce <a href="http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.ListOfAKUs">lien</a>.<br /><br /><span style="color:#666666;"><em>If you want to know which version of <a href="http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.WhatIsAnAKU">known Adaptation Kit Update (AKU)</a> releases you have in your device, check out this <a href="http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.ListOfAKUs">link</a>.</em><br /></span><br />Pour voir l'AKU de votre device, vous pouvez :<br />Aller dans le menu : Start / Settings / System Tab / About<br />Dans une application C#, appeler la méthode <a title="Click here to create this topic" href="http://channel9.msdn.com/wiki/wikiedit.aspx?topic=Environment.OSVersion&amp;return=MobileDeveloper.ListOfAKUs">OSVersion</a>.Version<br />Utilisez la clé de registre : HKLM\SYSTEM\Versions\Aku<br /><br /><em><span style="color:#666666;">To see the AKU of your device, you can :<br />type : Start / Settings / System Tab / About<br />Using a C# application, the </span></em><a title="Click here to create this topic" href="http://channel9.msdn.com/wiki/wikiedit.aspx?topic=Environment.OSVersion&amp;return=MobileDeveloper.ListOfAKUs"><em><span style="color:#666666;">OSVersion</span></em></a><em><span style="color:#666666;">.Version method returns build information.<br />Using the Registry : HKLM\SYSTEM\Versions\Aku</span></em><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-38022080053373814992008-04-20T12:52:00.000-07:002008-04-20T12:55:02.369-07:00Products renamingVoici un tableau récapitulatif des nouveaux noms de produit Windows Embedded.<br /><div><em><span style="color:#666666;">Here is a small tab presenting the next releases names of the different products of Windows Embedded.</span></em></div><br /><div><img id="BLOGGER_PHOTO_ID_5191418313679770194" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_q45CSOPLx24/SAufc3NXElI/AAAAAAAAARE/Tw3ZYe0HSsw/s400/name.png" border="0" /></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-3203988871996680062008-04-20T12:29:00.000-07:002008-04-20T12:49:26.728-07:00Silverlight Mobile<a href="http://bp0.blogger.com/_q45CSOPLx24/SAueKHNXEkI/AAAAAAAAAQ8/7_-EaJfeyO4/s1600-h/logo.jpg"><img id="BLOGGER_PHOTO_ID_5191416892045595202" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_q45CSOPLx24/SAueKHNXEkI/AAAAAAAAAQ8/7_-EaJfeyO4/s400/logo.jpg" border="0" /></a><br /><div><div align="justify">Pour faire suite à mon article annonçant une prochaine sortie de <a href="http://silverlight.net/learn/mobile.aspx">Silverlight pour Windows Mobile</a>, voici un petit complément. Pour créer des applications Internet riches, Silberlight est maintenant disponible pour Windows Mobile.</div><div align="justify"><em><span style="color:#666666;">To make following my article announcing a next release of <a href="http://silverlight.net/learn/mobile.aspx">Silverlight for Windows Mobile</a>, here is a small complement. To create rich internet applications, Silberlight is now available for Windows Mobile.</span></em></div><br /><div align="justify"></div><br /><div align="justify">La première version de Silverlight sera disponible second semestre 2008 pour Windows Mobile 6.</div><div align="justify"><em><span style="color:#666666;">First Developer CTP for Silverlight for mobile available in 2nd Quarter of CY 2008 targeting Windows Mobile 6.</span></em></div><br /><div align="justify"></div><div align="justify"><span style="color:#000000;">Sur WM, Silverlight sera sous form de pluggin pour le broxwser, de la même manière que la version web.</span></div><div align="justify"><em><span style="color:#666666;">Silverlight on mobile will take the form of a browser plug-in, the same as the web version.<br /></span></em></div><img id="BLOGGER_PHOTO_ID_5191416496908603954" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_q45CSOPLx24/SAudzHNXEjI/AAAAAAAAAQ0/9vIgkM2XEIM/s400/silverlight.JPG" border="0" /><br /><div align="justify"><span style="color:#666666;"><span style="color:#000000;">Etant donnée que Silverlight est basé sur XAML, Microsoft Expression Studio sera l'outil de référence pour le design Silverlight. Expression Design peut être utilisé pour designer les éléments visuels alors que la liaison avec le code peut être réalisée avec soit Expression Blend ou Visual Studio.</span><br /><em>Because XAML is the foundation of Silverlight, Microsoft Expression Studio will provide features for designing Silverlight. Expression Design can be used for creating the visual elements while wiring the design with code can be done with either Expression Blend or with Visual Studio.</em></span> </div></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-77749934802503788872008-03-29T13:52:00.000-07:002008-03-30T02:33:03.528-07:00TechDays Webcast<a href="http://bp3.blogger.com/_q45CSOPLx24/R-9d4miwnEI/AAAAAAAAAQs/F-yHgPlrH28/s1600-h/MSTD08_webcast.gif"><img id="BLOGGER_PHOTO_ID_5183464923127127106" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_q45CSOPLx24/R-9d4miwnEI/AAAAAAAAAQs/F-yHgPlrH28/s400/MSTD08_webcast.gif" border="0" /></a><br /><div>Pour ceux qui n'étaient pas aux TechDays, et qui veulent visualiser les webcasts voici le lien : <a href="http://www.microsoft.com/france/vision/mstechdays08/">http://www.microsoft.com/france/vision/mstechdays08/</a></div><br /><div></div><br /><div></div><br /><div><a href="http://bp0.blogger.com/_q45CSOPLx24/R-6uLGiwnDI/AAAAAAAAAQk/k2xeqHtkIGY/s1600-h/techDays.JPG"><img id="BLOGGER_PHOTO_ID_5183271726908218418" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_q45CSOPLx24/R-6uLGiwnDI/AAAAAAAAAQk/k2xeqHtkIGY/s400/techDays.JPG" border="0" /></a><br /><br /><div>Voici un webcast de ma session sur VS2008 et le CF 3.5. N'hésitez pas à me faire vos commentaires :</div><br /><div></div><br /><br /><div><a href="http://www.microsoft.com/france/vision/mstechdays08/WebcastMSDN.aspx?EID=dd9bf942-8ba0-4092-841a-1f2635aaacdf">http://www.microsoft.com/france/vision/mstechdays08/WebcastMSDN.aspx?EID=dd9bf942-8ba0-4092-841a-1f2635aaacdf</a></div><br /><br /><div></div><br /><br /><div><em>TechDays Webcast of my session on VS2008 and the CF 3.5, it is in French only, sorry...</em></div><br /><br /><div></div></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-85947317445453149082008-03-19T13:59:00.001-07:002008-03-19T14:21:27.697-07:00Mobile Line of Business Accelerator 2008<span xmlns=""><span style="font-family:Calibri;">Pour tous ceux qui souhaitent avoir un exemple d'application qui présente tout ce que peut offrir le CF 3.5 voici ce qu'il vous faut : <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=428E4C3D-64AD-4A3D-85D2-E711ABC87F04&amp;displaylang=en">télécharger</a><br /></span><div><div><p style="TEXT-ALIGN: justify"><span style="font-family:Calibri;">Le "Mobile Line of Business Accelerator 2008" (le "Hardware Distributor") est un exemple d'application de gestion Supply Chain sur PDA écrite en C# avec Visual Studio 2008. L'application .NET Compact Framework 3.5 effectue différentes tâches basées sur des rôles d'utilisateur spécifiques.<br /></span><span style="font-size:85%;"><span style="font-family:Calibri;"><span style="font-size:100%;">Tous les devices utilisées dans ce scenario sont synchronisés les uns avec les autres par l'utilisation de Sync Services for ADO.NET et des Windows Communication Foundation's en version "Store and Forward" et nécessite SQL Server Compact, SQL Server 2008, et Exchange Server 2007, sur un réseau sans fil. </span><br /></span><br />Les fonctionnalités du Compact Framework mises en œuvre sont :<br /></span></p><ul style="MARGIN-LEFT: 54pt"><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Sync Services for ADO.NET avec SQL Server 2008 </span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Store and Forward Transport avec Exchange Server 2007 </span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Accès à des Web Service maps depuis MapPoint </span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Controls customs </span></div><ul><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Signature Control </span></div></li><img id="BLOGGER_PHOTO_ID_5179563409195179026" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_q45CSOPLx24/R-GBemiwnBI/AAAAAAAAAQU/JIwvgQMkQQM/s200/signature.JPG" border="0" /> <li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Listview avec en-tête de colonne avec dégradés de couleurs<img id="BLOGGER_PHOTO_ID_5179562764950084594" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_q45CSOPLx24/R-GA5Giwm_I/AAAAAAAAAQE/i0qV1V5Q4bA/s200/ListView.JPG" border="0" /> </span></div></li><br /><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Boutons avec dégrades de couleurs <a href="http://bp0.blogger.com/_q45CSOPLx24/R-GAuWiwm-I/AAAAAAAAAP8/WefOHPjYrGU/s1600-h/button.JPG"></a></span></div></li><br /><img id="BLOGGER_PHOTO_ID_5179563215921650690" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_q45CSOPLx24/R-GBTWiwnAI/AAAAAAAAAQM/f2x7PbCNSII/s200/button.JPG" border="0" /><br /><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Splash Screen </span></div></li></ul></li><br /><img id="BLOGGER_PHOTO_ID_5179563611058641954" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_q45CSOPLx24/R-GBqWiwnCI/AAAAAAAAAQc/7C8PVRFfiDM/s200/splash.JPG" border="0" /><br /><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">State and Notification Broker API </span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">ADO.NET Communication avec SQL Server Compact. </span></div><ul><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Triggers managés </span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Procédures stockées managées </span></div></li></ul></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Déploiement de fichier CAB </span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Utilisation de LINQ </span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Divers </span></div><ul><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Language Localization </span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Gestion des fichiers d'aide </span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;">Adaptation automatique de l'application à différentes tailles d'écran ou méthodes de saisie </span><br /></div></li></ul></li></ul><p style="TEXT-ALIGN: justify"><em><span style="font-family:Calibri;color:#7f7f7f;">For all those which want an example of application shows all that the CF 3.5 can offer, here what you need: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=428E4C3D-64AD-4A3D-85D2-E711ABC87F04&amp;displaylang=en"></span>download</a><span style="font-family:Calibri;color:#7f7f7f;"><br /></span></em></p><br /><p style="TEXT-ALIGN: justify"><span style="font-family:Calibri;color:#7f7f7f;"><em>The Mobile Line of Business Accelerator 2008 (the "Hardware Distributor") showcases a mobile supply chain application written in Visual C# using Visual Studio 2008. This .NET Compact Framework 3.5 application performs different tasks based on specific user roles.<br /></em></span></p><br /><p style="TEXT-ALIGN: justify"><span style="font-family:Calibri;font-size:85%;color:#7f7f7f;"><em><span style="font-size:100%;">All the devices used by the various roles are kept in sync with each other through the use of Sync Services for ADO.NET and Windows Communication Foundation's "Store and Forward" capabilities and requires SQL Server Compact, SQL Server 2008, and Exchange Server 2007, over wireless. </span><br /></em></span></p><br /><p style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Compact Framework features used: </em></span><br /></p><ul style="MARGIN-LEFT: 54pt"><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Sync Services for ADO.NET with SQL Server 2008 </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Store and Forward Transport with Exchange Server 2007 </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Web Service retrieval of maps from MapPoint </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Custom Controls </em></span></div><ul><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Signature Control </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Gradient Header control on a listview </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Gradient Button control </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Splash Screen </em></span></div></li></ul></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>State and Notification Broker API</em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>ADO.NET Communication with SQL Server Compact. </em></span></div><ul><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Managed Triggers </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Managed Stored Procedures </em></span></div></li></ul></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>CAB deployment project </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Use of LINQ </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Miscellaneous </em></span></div><ul><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Language Localization </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Help Files Management</em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>CAB Development example </em></span></div></li><li><div style="TEXT-ALIGN: justify"><span style="font-size:85%;color:#7f7f7f;"><em>Adapt your Application for different screen sizes or input methods</em></span></div></li></ul></li></ul></span></div></div><br /><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=428E4C3D-64AD-4A3D-85D2-E711ABC87F04&amp;displaylang=en"></a><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-54499498051792407042008-03-17T08:16:00.001-07:002008-03-17T08:24:40.995-07:00Sign a CAB file<span xmlns=""><h1><span style="font-size:85%;">Create a Windows Mobile certificate:<br /></span></h1><p><a href="http://www.codeproject.com/KB/mobile/signcode.aspx"><span style="font-size:85%;">http://www.codeproject.com/KB/mobile/signcode.aspx</span></a><span style="font-size:85%;"><br /></span></p><p><span style="font-size:85%;">Acheter un certificat :<br /></span><span style="font-size:85%;color:#7f7f7f;"><em>Buy a certificate :<br /></em></span><a href="http://www.verisign.com/"><span style="font-size:85%;">http://www.verisign.com/</span></a><span style="font-size:85%;"><br /></span></p><h1><span style="font-size:85%;">Install the certificate with the CAB:<br /></span></h1><p><span style="font-size:85%;">Copier le Cab sur le PDA et le lancer, attention si ce Cab n'est pas lui-même signé, un message d'avertissements est à accepter.<br /></span><span style="font-size:85%;color:#7f7f7f;"><em>Copy the CAB file on the device and launch it, the cab is not signed, so you have to accept the warning message.<br /></em></span></p><p><span style="font-size:85%;"></span></p><h1><span style="font-size:85%;">Sign the CAB and all its content: </span></h1><p><span style="font-size:85%;">Avec l'outil cabsigntool disponible lors de l'installation du SDK WM 6, C:\Program Files\Windows Mobile 6 SDK\Tools\Security\CabSignTool<br /></span></p><p><span style="font-size:85%;color:#7f7f7f;"><em>With the tool cabsigntool available with the SDK WM 6.0, C:\Program Files\Windows Mobile 6 SDK\Tools\Security\CabSignTool<br /></em></span></p><p><span style="font-size:85%;"><br /></span></p><p><strong><em><span style="font-size:85%;">cabsigntool MyCAB.CAB MyCABSign.cab -f MyCert.pfx<br /></span></em></strong></p><p><span style="font-size:85%;"></span></p><p><span style="font-size:85%;">CABSIGNTOOL: Signs a CAB and all its executable content (.exe, .dll)<br /></span></p><p><span style="font-size:85%;">with specified certificate(s).<br /></span></p><p><span style="font-size:85%;"></span></p><p><span style="font-size:85%;">Input CAB : MyCAB.CAB<br /></span></p><p><span style="font-size:85%;">Output CAB : MyCABSign.cab<br /></span></p><p><span style="font-size:85%;">signtool command line:- </span></p><p><span style="font-size:85%;">for cab : -f MyCert.pfx </span></p><p><span style="font-size:85%;">for files : -f MyCert.pfx<br /></span></p><p><br /><span style="font-size:85%;">CABSIGNTOOL: Extracting CAB contents.<br /></span></p><p><span style="font-size:85%;">CABSIGNTOOL: Signing CAB contents.<br /></span></p><p><span style="font-size:85%;">Done Adding Additional Store<br /></span></p><p><span style="font-size:85%;">Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\000CRlib.003<br /></span></p><p><span style="font-size:85%;">Done Adding Additional Store<br /></span></p><p><span style="font-size:85%;">Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\ECHODI~1.004<br /></span></p><p><span style="font-size:85%;">Done Adding Additional Store<br /></span></p><p><span style="font-size:85%;">Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\ECHODI~1.005<br /></span></p><p><span style="font-size:85%;">Done Adding Additional Store<br /></span></p><p><span style="font-size:85%;">Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\VIDEOB~1.001<br /></span></p><p><span style="font-size:85%;">Done Adding Additional Store<br /></span></p><p><span style="font-size:85%;">Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\VIDEOI~1.002<br /></span></p><p><span style="font-size:85%;">CABSIGNTOOL: Re-packing CAB.<br /></span></p><p><span style="font-size:85%;">Microsoft (R) Cabinet Maker - Version 5.1.2600.2180<br /></span></p><p><span style="font-size:85%;">Copyright (c) Microsoft Corporation. All rights reserved..<br /></span></p><p><span style="font-size:85%;">Parsing directives (C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\wizDDB.tmp: 1 l<br />1,097,294 bytes in 12 files<br />Total files: 12<br />Bytes before: 1,097,294<br />Bytes after: 1,097,294<br />After/Before: 100.00% compression<br />Time: 0.31 seconds ( 0 hr 0 min 0.31 sec)<br />Throughput: 3423.57 Kb/second<br /></span></p><p><span style="font-size:85%;">CABSIGNTOOL: Signing CAB. </span></p><p><span style="font-size:85%;">Done Adding Additional Store<br /></span></p><p><span style="font-size:85%;">Successfully signed: MyCABSign.cab<br /></span></p><p><span style="font-size:85%;">CABSIGNTOOL: Done.<br /></span></p><h1><span style="font-size:85%;">Install the signed CAB<br /></span></h1><p><span style="font-size:85%;">Vous pouvez maintenant lancer vos CAB et vos applications signés avec le certificat et de fait ne plus avoir de message d'avertissement.<br /></span></p><p><span style="font-size:85%;color:#7f7f7f;"><em>You can now launch your CAB file and your applications signed with the certificates and not have to accept the warning message.</em></span></p></span><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-61484528672718138522008-03-10T13:48:00.000-07:002008-03-10T13:54:04.138-07:00Component CF 3.5 for PBLe composant Compact Framework 3.5 est disponible pour Platform Builder !!! (<br /><div><em><span style="color:#666666;">The Compact Framework 3.5 component is available for Platform Builder !!!</span></em></div><br /><div></div><div>-> <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a83124d5-7c8e-4abe-87fd-69654561be40&amp;displaylang=en">CE 6.0 R2</a> (January 2008 update)</div><div>-> <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=98f0906a-45c6-4792-91fe-47a0e073a998&amp;displaylang=en">CE 5.0</a> (January 2008 update)</div><br /><div></div><br /><div><img id="BLOGGER_PHOTO_ID_5176219010827389378" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_q45CSOPLx24/R9Wfw_v9icI/AAAAAAAAAP0/F64q_oUl1Os/s320/netcf35pb60_2.jpg" border="0" /></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-39236639379941506882008-03-05T12:05:00.000-08:002008-03-09T12:05:58.669-07:00News Windows From CF 3.5Voici une liste des nouveautés concernant les Windows Forms avec le CF3.5.<br />Pour l’objet Control :<br /><br /><ul><li>les polices ClearType sont prises en compte </li><li>la propriété BackColor est supportée en mode lecture seule (1)<br /></li></ul><p>Il est dorénavant possible d’ajouter des Graphics aux contrôles suivant : </p><ul><li>TabPage (2) </li><li>Panel </li><li>Splitter </li><li>PictureBox </li></ul><p>Pour les ComboBox, Les propriétés SelectionStart et SelectionLength sont maintenant prises en charge. <img id="BLOGGER_PHOTO_ID_5175819703422912946" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_q45CSOPLx24/R9Q0mPv9ibI/AAAAAAAAAPs/PXkGYZwoSNU/s400/GetAttachment.jpg" border="0" /><br /><em>Here are a list of the new imrpovements in the Compact Framework 3.5.<br />For the Control object : </em><em></p><ul><li></em><em>ClearType fonts are supported </em></li><li><em>the BackColor property is supported on read-only controls (1) </em><em></li></ul><p>Now, Users can now add graphics to these controls: </p><ul><li>TabPage (2) </li><li>Panel </li><li>Splitter </li><li>PictureBox<br /></li></ul><p>For the ComboBox, the SelectionStart and SelectionLength properties are now supported.</p><p></em></p><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-90355233434626255112008-03-03T04:35:00.000-08:002008-03-03T04:50:53.802-08:00DesktopCompatible CF3.5<div align="justify">Avec le CF2.0, les UserControl sont supportés mais il est possible que l'erreur suivante s'affiche lorsque vous les afficher dans le designer <strong>"Visual Inheritance is Currently Disabled"</strong>. Cette erreur apparait typiquement lorsque les contrôles font appel à des fonctionnalités bas niveau du device (P/Invokes) comme l’assembly WindowsCE par exemple. Pour contourner ce problème, il suffit de rajouter un fichier XMTA avec l'attribut DesktopCompatible(true) pour le UserControl.<br /><em><span style="color:#666666;">With the CF2.0, the UserControl are supported, but it is possible you have the following error <strong>"Visual Inheritance is Currently Disabled"</strong> after adding your new custom control to a form. You might typically get this when the control uses P/Invokes or device level functionality not supported on the desktop like the WindowsCE assembly for example. To get around this problem, you have to add an XMTA file with the DesktopCompatible(true) for the UserControl.</span><br /></em><br /></div><img id="BLOGGER_PHOTO_ID_5173496614503785586" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 422px; CURSOR: hand; HEIGHT: 58px; TEXT-ALIGN: center" height="74" alt="" src="http://bp2.blogger.com/_q45CSOPLx24/R8vzwrIvJHI/AAAAAAAAAPU/Kj8lLV8a36w/s400/XML.JPG" width="444" border="0" /> <p align="justify"><br /><br />Avec Visual Studio 2008, si vous faites cela avec une application CF 3.5, vous obtiendrez le message d’erreur suivant lors de l’ajout de votre UserControl à la Form :<br /><em><span style="color:#666666;">With Visual Studio 2008, if you have a CF 3.5, you will obtain the following error message after adding your new custom control to a form:<br /><br /></p></span></em><br /></span><img id="BLOGGER_PHOTO_ID_5173495394733073490" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_q45CSOPLx24/R8vyprIvJFI/AAAAAAAAAPE/NoZkGAUXWpM/s320/Sans+titre.bmp" border="0" /><br /><br /><p align="justify"><br />Pour contourner ce problème, il suffit d’ajouter l’assembly Microsoft.WindowsCE.Forms.dll du Compact Framework 3.5 au GAC :<br /><em>gacutil /i C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\Microsoft.WindowsCE.Forms.dll</em><br /><br /><em><span style="color:#666666;">To get arround this problem, you need to add the assembly Microsoft.WindowsCE.Forms.dll Compact Framework 3.5 to the GAC :<br />gacutil /i C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\Microsoft.WindowsCE.Forms.dll</span></em><br /><br /><br /></p><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-69638722762147835842008-02-21T04:29:00.000-08:002008-02-21T04:41:40.702-08:00Compact Framework versions..<a href="http://bp1.blogger.com/_q45CSOPLx24/R71xdMHib8I/AAAAAAAAAOw/txEeL0nSWag/s1600-h/CF.JPG"><img id="BLOGGER_PHOTO_ID_5169412693574184898" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_q45CSOPLx24/R71xdMHib8I/AAAAAAAAAOw/txEeL0nSWag/s400/CF.JPG" border="0" /></a><br /><div></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-53974925017301158322008-02-19T09:58:00.000-08:002008-02-20T12:12:32.205-08:00Managed CoreConnectivity Framework in VS2008<strong>Objectif </strong><br />Créer un lien entre le périphérique et Visual Studio 2008<br /><span style="color:#333333;"><em>Connect the device to Visual Studio 2008</em></span><br /><br /><strong>Description</strong><br /><ul><li>Basé sur le core connectivity framework natif existant.</li><li><em><span style="color:#333333;">Build on top of existing core connectivity framework.</span></em></li><li>Utilisé en interne par les outils MS (tels que Unit Testing, remote…)</li><li>I<em><span style="color:#333333;">nternally used by MS tools (e.g., unit testing)</span></em></li><li>Facilité accrue pour créer rapidement ses propres remote tools </li><li><em><span style="color:#333333;">Makes it easy to build your own remote tools</span></em></li></ul><br /><p><strong>Pour l’utiliser :<br /></strong><span style="color:#333333;"><em><strong>To use:</strong><br /></em></span>Ajouter une référence à Microsoft.Smartdevice.Connectivity.dll<br /><em><span style="color:#333333;">Add a reference to Microsoft.Smartdevice.Connectivity.dll</span></em> </p><p><strong>Exemple de code :<br /><em>Code example:</em></strong></p><p><span style="color:#000099;">DatastoreManager</span> dsmgrObj = new <span style="color:#000099;">DatastoreManager</span>(1033);<br /><span style="color:#006600;">//Get Collection of platforms entries present in Data store</span><br /><span style="color:#000099;">IEnumerable</span><platform> platformcollection = dsmgrObj.GetPlatforms();<br /><span style="color:#009900;">//Iterate through Collection of platforms<br /></span>foreach (<span style="color:#000099;">Platform</span> objplatform in platformcollection)<br />{<br />System.Console.WriteLine(objplatform.Name);<br />if (objplatform.Name.Contains(<span style="color:#990000;">"Windows Mobile 6 Professional SDK"</span>))<br />{<br />IEnumerable<device> pdeviceCollection = objplatform.GetDevices();<br />foreach (Device objdevice in pdeviceCollection)<br />{<br />System.Console.WriteLine("<span style="color:#990000;">\t</span>" + objdevice.Name);<br /><span style="color:#006600;">//Check if the device is an emulator</span><br />if (objdevice.Name.Contains(<span style="color:#990000;">"Windows Mobile 6 Professional Emulator"</span>))<br />{<br />m_objDevice = objdevice;<br />m_objDevice.Connect();<br />return;<br />}<br />}<br />}<br /></p><br /><p><span style="color:#006600;">// To get all running processes on the device</span><br />m_objDevice.GetRunningProcesses()</p><p><span style="color:#006600;">// Get the system info</span><br />SystemInfo info = m_objDevice.GetSystemInfo();</p><p>N'hésitez pas à tester et créer vos propres Remote Tools, c'est super pratique.<br /><em><span style="color:#333333;">Don't hesitate to test it and create your own Remote Tools, it is very usefull.</span></em></p><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-37529540955960119222008-02-18T12:14:00.000-08:002008-02-18T13:00:11.986-08:00Compact Framework version redirection<div align="justify">Avec le Compact Framework 2.0, si vous voulez forcer votre application à utiliser une version particulière du Compact Framework, vous pouvez créer un fichier nommé [Nom de mon application].exe.config et de le copier dans le répertoire de l'application. (<a href="http://www.codeppc.com/dotnetcf2/config/index.htm">Article de CodePPC</a>)<br /><br /><span style="color:#666666;"><em>In Compact Framework 2.0, if you want to perform runtime version redirection, you can create a file called [Name of the application].exe.config and place it in the application folder.</em></span><br /><br />Une des nouveautés du Compact Framework 3.5 est de pouvoir créer un seul fichier <strong>device.config</strong> et de le placer dans le répertoire Windows afin d'effectuer une redirection de runtime vers le Compact Framework 3.5 pour toutes les applications du device.<br /><em><span style="color:#666666;">In the Compact Framework 3.5, you can create an only file called <strong>device.config</strong> and place it in the Windows folder to perform runtime redirection for all applications on the device.</span></em><br /><br />Pour que toutes les applications utilisent le CF 3.5, voici le fichier à créer :<br /><em><span style="color:#666666;">For example, to redirect all applications to run using CF 3.5, here is the file to create: </span></em></div><div align="justify"><em><span style="color:#666666;"></span></em> </div><div align="justify"> </div><img id="BLOGGER_PHOTO_ID_5168427883343015842" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_q45CSOPLx24/R7nxxsHib6I/AAAAAAAAAOg/P5iH5HgaibA/s320/Sans+titre.JPG" border="0" /><br /><p></p><br /><div align="justify"></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-30442636278019424572008-02-13T13:09:00.000-08:002008-02-13T13:23:23.800-08:00Bonjour à tous,<br /><br /><div align="justify">Durant ces derniers jours, je n'ai pas été très actif sur mon blog du fait de la préparation des TechDays 2008, je m'y remets dès la semaine prochaine. En tous cas, merci à tous ceux qui sont venus à ma session au TechDays sur Visual Studio 2008 et le Compact Framework 3.5. Et si vous avez des remarques ou des questions à poser, n'hésitez pas à poster des commentaires sur ce post. La session webcastée et les slides seront disponibles sur le site des TechDays d'ici 2 à 3 semaines.</div><div align="justify">Une petite vidéo de la plènière en attendant :</div><div align="justify"> </div><br /><embed src="http://images.video.msn.com/flash/soapbox1_1.swf" quality="high" width="432" height="364" base="http://images.video.msn.com" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&v=5db3ffe4-793b-4ee8-afa2-89e54b543730&ifs=true&fr=msnvideo&mkt=fr-FR&brand="></embed><br /><a href="http://video.msn.com/video.aspx?vid=5db3ffe4-793b-4ee8-afa2-89e54b543730" target="_new" title="Extraits de la plénière du mardi 12 février 2008">Video: Extraits de la plénière du mardi 12 février 2008</a><br /><em><span style="color:#666666;">Hi all,</span></em><br /><em><span style="color:#666666;"></span></em><br /><div align="justify"><em><span style="color:#666666;">During these last days, I wasn't very active on my blog because of preparation of TechDays 2008, I'll go back next week. In any case, thank you to all which came to my session in TechDays on Visual Studio 2008 and Compact Framework 3.5. And if you have any remarks or questions to ask, don't hesitate to post comments on this post. The webcasted session and the slides will be available on the TechDays' website in 2 to 3 weeks. (It will be in French only ;-))</span></em></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-4567375128423190072008-01-25T09:25:00.000-08:002008-01-25T09:33:11.501-08:00Online Webinar - Development of Drivers with Windows Embedded CE 6.0 R2<a href="http://bp0.blogger.com/_q45CSOPLx24/R5odLO0sCYI/AAAAAAAAAOY/9t-Habv2ZZY/s1600-h/header.jpg"><img id="BLOGGER_PHOTO_ID_5159468401901177218" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 198px; CURSOR: hand; HEIGHT: 19px; TEXT-ALIGN: center" height="54" alt="" src="http://bp0.blogger.com/_q45CSOPLx24/R5odLO0sCYI/AAAAAAAAAOY/9t-Habv2ZZY/s200/header.jpg" width="274" border="0" /></a><br /><div align="justify">Le 31 janvier, Anthony Pellerin d'Adeneo nous présentera un webinar sur Development of Drivers withWindows Embedded CE 6.0 R2. La présentation sera faite en anglais uniquement.<br /><em><span style="color:#666666;">January 31 , Anthony Pellerin from Adeneo will present us a webinar on Development of Drivers withWindows Embedded CE 6.0 R2. The presentation will be in English only.</span></em></div><div align="justify"></div><br /><div align="justify"><em><span style="color:#666666;">Event Overview<br />Date and Time: January 31, 2008 @ 10:00 AM - 11:00 AM CET</span></em></div><div align="justify"><em><span style="color:#666666;"></span></em></div><br /><div align="justify"><em><span style="color:#666666;">During this LIVE online 60 minute presentation: you will learn the latest features of Windows Embedded CE 6.0 R2 and how to integrate custom drivers in CE based designs. </span></em></div><div align="justify"><em><span style="color:#666666;"></span></em></div><br /><div align="justify"><em><span style="color:#666666;">Who Should Attend: </span></em></div><br /><div align="justify"><em><span style="color:#666666;">This webcast addresses OEM hardware and software engineers willing to start driver development for Windows Embedded CE 6.0 R2 design.Windows Embedded CEThe explosion of devices and systems with small software footprint requirements that integrate a larger set of features has fueled demand for flexible and easily scalable software solutions.Microsoft has met the demands of engineers looking to develop their products in a familiar and feature rich environment. Windows Embedded CE 6.0 provides engineers with an exceptional new tool to develop a broad range of portable and hand-held devices.Join Microsoft for an introduction of Windows Embedded CE development drivers, and develop an in-depth technical knowledge of Windows Embedded CE 6.0 development driver technology. Microsoft will walk you step-by-step through the feature rich development environment of Windows Embedded CE 6.0. Don’t miss this opportunity to learn from the experts at Microsoft.</span></em></div><br /><div align="justify"><em><span style="color:#666666;"></span></em></div><div align="justify"><em><span style="color:#666666;">Discover Windows Embedded CE R2 Features</span></em></div><div align="justify"><em><span style="color:#666666;">Windows Embedded CE 6.0 R2 has a diverse set of features to ensure a complete development environment for tomorrows portable and small footprint devices. Gain a complete overview of our Driver Architecture.Discover Microsoft’s stream driver entry points. Review and understand the implementation and integration of a driver in a CE image. And finally, see a live demonstration of driver development and integration using Windows Embedded CE 6.0 R2 emulator.</span></em></div><div align="justify"><em><span style="color:#666666;"></span></em></div><br /><div align="justify"><em><span style="color:#666666;">Demonstration</span></em></div><br /><div align="justify"><em><span style="color:#666666;">Microsoft will take you step-by-step through driver development and integration using Windows Embedded CE 6.0 R2. During the presentation you will see code analysis of a simple stream driver, CE driver integration and testing in existing Windows CE images, and review catalog component creation for the driver.</span></em></div><div align="justify"><em><span style="color:#666666;"></span></em></div><br /><div align="justify"><em><span style="color:#666666;">Special NEW ZUNE Drawing</span></em></div><br /><div align="justify"><em><span style="color:#666666;">Registration and attendance for this educational event enters you in our special drawing for a NEW ZUNE Digital Media Player at the end of event. The NEW Zune digital media player features wireless sync, extended wireless sharing, new innovative touch controls, a built-in FM tuner, recorded television content to go, and more…Register Today for your chance to win.</span></em></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-58014198642053008462008-01-24T12:55:00.000-08:002008-01-24T12:59:52.643-08:00A SDCard with GPS and µSD memory slotUne carte SD avec une puce GPS et un connecteur µSD, pratique pour votre PDA !<br />An SDCard with a GPS receiver integrated and a µSD slot, very useful for your PDA !<br /><br />Jetez un oeil là-dessus : <a href="http://www.spectec.com.tw/sdg810.htm">http://www.spectec.com.tw/sdg810.htm</a><br />Check out this link : <a href="http://www.spectec.com.tw/sdg810.htm">http://www.spectec.com.tw/sdg810.htm</a><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-54203672245652792002008-01-24T12:39:00.000-08:002008-01-24T12:40:45.217-08:00Debug without ActiveSync with VS2003 .Net<em><span style="color:#333333;">To use the Smart Device Authentication Utility<br />1. Open a new or saved Smart Device project in Visual Studio .NET.<br />2. Run the Smart Device Authentication Utility on the device.<br />To run the Smart Device Authentication Utility on the device<br />a. Open the folder that corresponds to the Windows CE version on your device in Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\WinCE Utilities\Authentication Util.<br />b. Open the folder that corresponds to the CPU of your device.<br />c. Copy the file SDAuthUtilDevice.exe to your device.<br />d. Run SDAuthUtilDevice.exe on your device.<br />e. Click Start.<br />Note: There will be a pause while the workstation running Visual Studio .NET connects to the device via a TCP/IP connection.<br />3. Run the Smart Device Authentication Utility on the computer running Visual Studio .NET.<br />To run the Smart Device Authentication Utility on the computer<br />a. On the Tools menu, click Smart Device Authentication Utility.<br />b. In the Device IP address box, enter the IP address of the device.<br />c. Click Set Up Device.<br />4. Apply the new setting to Visual Studio as described in the following procedure.<br />To apply the settings to Visual Studio<br />a. On the Tools menu, click Options.<br />b. Click Device Tools and then click Devices.<br />c. In the Show devices for platform box, click the device that you want to connect to.<br />d. Click Save As, type a new name in the box, and click OK.<br />e. In the Transport box, click TCP Connect Transport.<br />f. Click Configure.<br />g. Click Use specific IP address, and enter the device's IP address.<br />h. Click OK.<br />You can now create, debug and deploy managed code applications for Windows CE .NET platforms using Visual Studio .NET 2003.</span></em><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-33358973615404273172008-01-24T12:18:00.000-08:002008-02-19T02:35:45.903-08:00Debug without ActiveSync with VS2005<div align="center"><strong></strong></div><div align="justify">1. Au moyen d'une connexion au périphérique dont vous disposez, copiez les fichiers suivants dans le dossier \Windows\ du périphérique. Par défaut, ces fichiers sont enregistrés sur l'ordinateur de développement sous \Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\<cpu>.</div><ul><li><div align="justify">Clientshutdown.exe</div></li><li><div align="justify">ConmanClient2.exe</div></li><li><div align="justify">CMaccept.exe</div></li><li><div align="justify">eDbgTL.dll</div></li><li><div align="justify">TcpConnectionA.dll</div></li></ul><p align="justify"><br />2. À l'invite de commandes sur le périphérique, exécutez conmanclient2.exe.<br />3. Déterminez l'adresse IP du périphérique.</p><div align="justify"><em><span style="color:#666666;">1. Manually copy the following files down to the device </span></em></div><ul><li><div align="justify"><em><span style="color:#666666;">Clientshutdown.exe</span></em></div></li><li><div align="justify"><em><span style="color:#666666;">ConmanClient2.exe</span></em></div></li><li><div align="justify"><em><span style="color:#666666;">CMaccept.exe</span></em></div></li><li><div align="justify"><em><span style="color:#666666;">eDbgTL.dll</span></em></div></li><li><div align="justify"><em><span style="color:#666666;">TcpConnectionA.dll<br />From the desktop folder: \Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\<cpu>, to \windows on device.</span></em></div></li></ul><p align="justify"><em><span style="color:#666666;">2. Manually launch the conmanclient2.exe. On the device side, open the command prompt and run "Conmanclient2.exe" </span></em></p><p align="justify"><em><span style="color:#666666;">3. Set the correct IP address</span></em></p><div align="justify"></div><div align="justify">Pour préparer Visual Studio à la connexion<br />1. Dans le menu Outils de Visual Studio, cliquez sur Options, sur Outils de périphérique, puis sur Périphériques.<br />2. Sélectionnez Périphérique Windows CE, puis cliquez sur Propriétés.<br />3. À droite de la zone Transport, cliquez sur Configurer.<br />4. Dans la boîte de dialogue Configurer le transport TCP/IP, sélectionnez Utiliser une adresse IP spécifique, puis tapez l'adresse IP du périphérique.<br />5. Fermez les boîtes de dialogue.<br />Un message est susceptible de s'afficher pour vous inviter à réinitialiser votre périphérique. Dans l'affirmative, une réinitialisation logicielle est suffisante.</div><div align="justify"></div><div align="justify"></div><div align="justify"><em><span style="color:#666666;">On the desktop side, </span></em></div><div align="justify"><em><span style="color:#666666;">1. Open VS 2005Tools -> options -> device tools -> devices tools -> devices</span></em></div><div align="justify"><em><span style="color:#666666;">2. Choose Windows CE 5.0 device, click on “properties”.</span></em></div><div align="justify"><em><span style="color:#666666;">3. On the “Windows CE 5.0 device properties” dialog, click on “configure”.</span></em></div><div align="justify"><em><span style="color:#666666;">4. On the “Configure TCP/IP” Transport dialog, choose “use specific IP address” and type in the IP address of your windows CE 5.0 device.</span></em></div><div align="justify"><span style="color:#333333;">5. Click OK.</span></div><div align="justify"></div><div align="justify"></div><div align="justify">Pour définir la sécurité et établir la connexion (Vous pouvez passer cette étape si vous avez désactiver la sécurité du device dans "HLKM\System\CoreConOverrideSecurity = 1", mais ce n'est pas conseillé)<br />1. À l'invite de commandes sur le périphérique, exécutez cMaccept.exe.<br />2. Dans un délai de trois minutes, connectez-vous au périphérique.<br />Si vous établissez votre première connexion dans les trois minutes, vous pouvez continuer le déploiement et le débogage indéfiniment tant que vous utilisez la même instance de Visual Studio. Si vous devez établir une connexion à partir d'une autre instance de Visual Studio, vous devez à nouveau exécuter ces étapes de sécurité.</div><div align="justify">Maintenant, vous pouvez déployer et debugger des applications sur votre device CE. </div><div align="justify"></div><div align="justify"><em><span style="color:#666666;">Enable the connection (You can skip this step if the security is already disabled on the CE device by setting "HLKM\System\CoreConOverrideSecurity = 1". But disabling security may expose your device to malicious attack)<br />1. Run cMaccept.exe<br />2. Connect to the device within 3 minutes after you run cMaccept.exe. (The 3 minutes window is for the first connection. As long as you establish the first connection within 3 minutes, the following deployment/debugging sessions using the same VS instance is not limited by this 3 minutes window)You need to perform Step 4 again when you try to connect from another instance of VS.<br />Now debugger is ready to go, and you should be able to deploy and debug program(s) running on Windows CE 5.0 device now.</span></em></div><div align="justify"><em><span style="color:#666666;"></span></em> </div><div align="justify"><span style="color:#000000;">Pour intégrer ces outils à votre image WINCE, jetez un oeil sur cet article:</span></div><div align="justify"><em><span style="color:#666666;">To integrate this tools in your WINCE image, check out this article:</span></em></div><a href="http://nicolasbesson.blogspot.com/2008/02/smart-device-deployment-and-debugging.html">http://nicolasbesson.blogspot.com/2008/02/smart-device-deployment-and-debugging.html</a> <div align="justify"> </div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-71209187274131497062008-01-13T09:29:00.000-08:002008-01-13T11:34:18.233-08:00Application Startup SignalStarted<p align="justify">Pour compléter mes deux articles sur comment démarrer automatiquement une application au démarrage, voici quelques explications sur la function SignalStarted. Cette fonction signale qu'une application a démarré et que son initialisation est terminée.</p><p align="justify"><em><span style="color:#333333;">To complete my two posts on how to launch an application at startup, here are some explanations on the function SignalStarted. This function signals that an application has started and initialization is complete.</span></em></p><p align="justify"><em><span style="color:#333333;"><a href="http://fabdecret.blogspot.com/2007/06/launch-application-at-startup.html">http://fabdecret.blogspot.com/2007/06/launch-application-at-startup.html</a><br /></span></em><em><span style="color:#333333;"><a href="http://fabdecret.blogspot.com/2007/06/registry-init-key-explanations.html">http://fabdecret.blogspot.com/2007/06/registry-init-key-explanations.html</a><br /></span></em><br />Par exemple, vous avez deux applications à lancer au démarrage, et la <span style="color:#33cc00;">deuxième</span> est dépendante de la <span style="color:#000099;">première</span>: (toutes sont dépendantes du <span style="color:#ff0000;">shell Windows</span>).<br /><span style="color:#666666;"><em>For example, you have two applications to launch at startup and the <span style="color:#33cc00;">second one</span> is dependent on the <span style="color:#000099;">first one</span>: (all are dependent on the <span style="color:#ff0000;">Windows shell</span>).</em></span><br /></p><p align="justify"><span style="color:#ff0000;">Shell<br />Launch50 : explorer.exe<br />Depend50: 32 00</span><br /><span style="color:#33ffff;"><span style="color:#000099;">Application 1<br />Launch90 : appli1.exe</span><br /></span>Depend90: <span style="color:#ff0000;">32 00</span> (Shell dependency)<br /><span style="color:#009900;">Application 2<br />Launch100 : appli2.exe</span><br />Depend100: <span style="color:#ff0000;">32 00</span> <span style="color:#000099;">5A 00</span> (Shell dependency and application 1 dependency)<br /><br />Dans <span style="color:#000099;">l'application 1</span>, quand vous voulez que la <span style="color:#009900;">seconde application</span> soit lancée automatiquement, vous avez juste à appeler la fonction SignalStarted avec en paramètre son identifiant de séquence qui peut être récupéré dans les arguments de la WinMain à convertir en DWORD. Ensuite, <span style="color:#009900;">l'application 2</span> est lancée, et si une autre est dépendante de celle-ci, il suffit de rappeler SignalStared. Si SignalStared n'est pas appelée dans <span style="color:#000099;">l'application 1</span>, <span style="color:#009900;">appli2.exe</span> qui en est dépendante ne sera jamais lancée.<br />Pour des détails sur cette fonction : <a href="http://msdn2.microsoft.com/en-us/library/aa450898.aspx">http://msdn2.microsoft.com/en-us/library/aa450898.aspx</a></p><p align="justify"><em><span style="color:#666666;">In the application 1, when you want the <span style="color:#009900;">second</span> <span style="color:#009900;">application</span> is automatically launched, you just have to call SignalStarted with its sequence identifier character string on the command line of the WinMain entry point converted in DWORD. Then, <span style="color:#009900;">Application 2</span> is launched, if an other application depends on this one, you call SignalStared again.<br />If SignalStarted is not called in <span style="color:#000099;">application </span></span></em><em><span style="color:#000099;">1</span></em><span style="color:#666666;"><em>, <span style="color:#009900;">appli2.exe</span> that is dependent on its launch will never run.<br />For details check out this: </em></span><a href="http://msdn2.microsoft.com/en-us/library/aa450898.aspx"><em>http://msdn2.microsoft.com/en-us/library/aa450898.aspx</em></a></p><p align="justify"><em></em></p><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.comtag:blogger.com,1999:blog-9199569907127793930.post-74831065352041822852008-01-13T09:02:00.000-08:002008-01-13T09:19:21.494-08:00Concours Skin WIndows Mobile<a href="http://bp1.blogger.com/_q45CSOPLx24/R4pHpsjTyQI/AAAAAAAAAOQ/hjnAceeiTJQ/s1600-h/header2.jpg"><img id="BLOGGER_PHOTO_ID_5155011505138419970" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_q45CSOPLx24/R4pHpsjTyQI/AAAAAAAAAOQ/hjnAceeiTJQ/s200/header2.jpg" border="0" /></a><br /><div>Pour tous ceux qui ont la fibre artistique, Microsoft France organise le concours Skin ton phone... </div><br /><div><a href="http://www.skintonphone.com/">http://www.skintonphone.com/</a></div><div class="blogger-post-footer">Fabien Decret's Weblog, .NET Compact Framework development</div>Fabien Decrethttp://www.blogger.com/profile/14974570394900558100noreply@blogger.com