29 Dec 2007

eROCCA : écho (la technologie au service du handicap)

Bonjour à tous, en cette fin d’année, je tiens à vous présenter le projet sur lequel je travaille depuis fin 2005 et qui est porteur d’espoir pour de nombreuses personnes handicapées. Personnellement, ce projet m’intéresse par ses dimensions technique et humaine du fait de son implication dans le champ du handicap et de la communication.
Hi folks, in this end of the year, I am please to introduce the project I am working on since end of 2005 and which is hopeful for numerous disabled.. Personally, this project interests me with its technical and human dimension because of implication in the handicap field and the communication.

C’est un ensemble de logiciels pour PDAs qui visent à redonner une communication vocale et à l'apprentissage du français écrit pour les personnes sourdes. Le logicielle phase, écho, permet de communiquer en mode face à face, ou par téléphone ou par chat SMS. Ce produit s’adresse à des individus atteints de handicap vocal temporaire ou permanent, ainsi qu'à des personnes sourdes non oralistes.
It is a set of PDAs’softwares for communication and language learning tools. The core application, écho, is a powerful Assistive and Augmentative communication solution. The users can communicate in face-to-face mode, or by telephone or by SMS chat. This product is targeting people with temporary or permanent speech-language impairments.



Pour rendre le produit accessible à tous, nous avons pris en compte les aspects suivants :

  • Mobilité et produit non dégradant pour l’utilisateur
  • ergonomie simple et intuitive
  • souplesse d’utilisation et personnalisation
  • performance et qualité de la voix

To make this product accessible of all, we took into account the following aspects:

  • Mobility and non degrading solution of the user
  • strong ergonomics
  • great flexibility in use and personalization
  • performance and voice quality
Sur le plan technique, ce produit met en œuvre les technologies suivantes :

  • Windows Mobile 6.0
  • Compact Framework 2.0 et 3.5
  • SDK Mobile 6.0 (gestion des SMS, gestion de l’écran, gestion des hardware buttons)
  • Fonctions téléphonie en VoIP
  • API Windows CE
  • Graphique GDI

On the technical plan, this product implements the following technologies:

  • Windows Mobile 6.0
  • Compact Framework 2.0 et 3.5
  • SDK Mobile 6.0 (SMS management, screen management, hardware buttons management)
  • Telephony in VoIP
  • Windows CE API
  • GDI

Le développement de la gamme écho donne lieu à la création de multiples propriétés intellectuelles protégées. Elles sont réutilisables et commercialisées par eROCCA.
écho product features breakthrough technology that are designed and optimized during écho product development. These IP are properly protected but can be licensed from eROCCA.

Pour des informations complémentaires consultez : www.mon-echo.eu/
For more details please consult : www.mon-echo.eu/

22 Dec 2007

Windows Mobile 7 et 8

Qu'est-ce que nous apportera de nouveau WM7 et WM8 ? Voici quelques informations notamment en terme d'Interface Graphique utilisateur.

What are the news in WM7 and WM8? Here are some informations specially in term of UI.

21 Dec 2007

Joyeux Noël ! Merry Christmas !



Power Toys for .NET Compact Framework 3.5

Pour compléter mon article sur les outils de debug du CF3.5, voici une suite d'outils pour debugger avec le CF3.5. A télécharger ici.

To complete my post on debug tools for CF3.5, here are some tools for debugging the CF3.5. Download here.

12 Dec 2007

Components for .NET Compact Framework

Resco propose une nouvelle gamme de composants spéciaux pour le développement mobilité (Windows Mobile, Smartphone, Windows CE) avec une mémoire limitée, un CPU lent, un écran tactile... Ces composants sont optimisés pour Microsoft Visual Studio 2008 et le .NET Compact Framework 3.5, d'après Resco.

Les composants proposés sont :

AdvancedTree .NET : tree control pour afficher des données liées avec des images....
AdvancedList .NET : List control pour des petits écrans
DetailView .NET : form de saisie de données
SmartGrid .NET : grid control avec auto-edit
CompactChart .NET : cinq types de graphique
OutlookShortcutBar .NET : composant raccourci, pour les applications modernes
OutlookWeekCalendar .NET : composants pour afficher un planning jour/semaine
OutlookMonthCalendar .NET : composants pour afficher un planning mois/année
OutlookDateTimePicker .NET : composant pour sélection d'une date
InkBox .NET : composant Ink pour sélection notes
Zip .NET : librairie de compression


Resco released a new suite of components designed specially for Mobile Devices (Windows Mobile, Smartphone, Windows CE) with limited memory, low CPU, touchscreen input...These controls are optimized for Microsoft Visual Studio 2008 and .NET Compact Framework 3.5, according to the company.

The components are:

AdvancedTree .NET : tree control perfect for displaying related dataAdvancedTree : For text, links, or images, with optional "DelayLoad"AdvancedList .NET : List control for small displaysDetailView .NET : User input formSmartGrid .NET : grid control with built-in auto edit capabilities
CompactChart .NET : Five chart typesOutlookShortcutBar .NET : shortcut control, common for all modern applicationsOutlookWeekCalendar .NET : Day/Week appointment scheduling controlOutlookMonthCalendar .NET : Month/Year appointment scheduling controlOutlookDateTimePicker .NET : common control providing advanced stylesInkBox .NET : Ink control suitable for quick notes or signatures
Zip .NET : Compression library

Remote PDA controler

Voici un outil super pratique pour piloter votre PDA à distance depuis votre PC (via ActiveSync ou TCP/IP filaire ou WIFI), l'interface est super conviviale. C'est un outil qui vous sera très pratique si vous avez des présentations à faire. Voici le site de l'éditeur avec son prix : $35.95 USD. Vous pouvez faire des copies d'écran (GIF, BMP, JPG or PNG) ou des vidéos (WMV ou AVI).

Here is a nice tool to control your PDA via your PC (through your ActiveSync or wired/wireless TCP/IP), the interface is very friendly. It's a very usefull tool if you have presentations to do. Here is the software editor with its price: $35.95 USD. You can make screenshots (GIF, BMP, JPG or PNG) or videos capture(WMV ou AVI).

10 Dec 2007

Online Webinar - Introduction to Windows Embedded


Demain, Anthony Pellerin d'Adeneo nous présentera un webinar sur Windows CE6.0. La présentation sera faite en anglais uniquement.
Tomorrow, Anthony Pellerin from Adeneo will present us a webinar on Windows CE6.0. The presentation will be in English only.

Event Overview
Date and Time: December 11, 2007 @ 10:00 AM - 11:00 AM CET

During this LIVE online 60 minute presentation: You will learn the initial steps of development with the Windows Embedded CE 6.0 platform.

Who Should Attend: This webcast addresses OEM hardware and software engineers with no prior experience with Windows Embedded CE 6.0 and willing to start an evaluation of the newest generation of Windows Embedded CE.Windows Embedded CE

The 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, and develop a basic technical knowledge of Windows Embedded CE 6.0. Microsoft will walk you step-by-step through the feature rich development environment and demonstrate the intuitive qualities of Windows Embedded CE 6.0. Don’t miss this opportunity to learn from the experts at Microsoft.Discover Windows Embedded CE FeaturesWindows Embedded CE 6.0 has a diverse set of features to ensure a complete development environment for tomorrow's portable and small footprint devices.
· RTOS characteristics
· Modularity & Scalability
· Portability
· Multimedia
· Communication and Networking Discover a Rich Set of ToolsMicrosoft provides engineers with tools to accelerate the development of Windows Embedded CE 6.0 devices.
· VS 2005
· Platform Builder 6.0
· Build Process See Windows Embedded CE 6.0 in ActionReview the process for loading and debugging a CE image. Dive into Microsoft’s unique Boot process and Remote Tools set. Demonstration

Microsoft will take you step-by-step through some of the most important features and benefits of Windows CE Embedded 6.0. During the presentation you will see how to clone a BSP, create an OS Design, utilize Build Process, and manage image downloading and debugging.

5 Dec 2007

Microsoft TechDays 2008

Les TechDays 2008 ! Ce sera à Paris les 11, 12 et 13 février prochains.
The TechDays 2008 will be in Paris, the 11, 12 and 13 next February. (it will be in French only...)

Le blog des TechDays2008.

Retrouvez-moi aux Microsoft TechDays 2008

1 Dec 2007

Debug WCF

Je suis sûr que vous vous en souvenez tous, j'avais fait un article sur les nouveaux outils de debug du CF3.5 à sa sortie. J'y parlais notamment du Device Logging Configuration tool. En plus d’être utile pour l’interop, cet outil est très pratique pour debugger un projet utilisant les WCF en cochant l'option network et ensuite en analysant le fichier de log à l'aide du .NETCF Log Viewer. Pour les détails, aller voir sur ce post.
I’m sure you remember it, I had written an article on new debug tools on CF3.5. I spoke there about Device Logging Configuration tool. In addition to being useful for native interrop, this tool is very usefull for debugging a project using WCF by checked the network option and then by analyzing the log file in the .NETCF Log Viewer. For details, check out this post.



Survey result CF3.5

La semaine dernière j'ai mis en place un petit sondage sur mon blog pour savoir vos nouveautés préférées sur le CF 3.5, je n'ai obtenu que 11 réponses ;-(. Voici les résultats :
On notera une grosse domination des WCF, suivis des Debug Tools, de Unit Test et en dernière position Linq. En tout cas, je suis satisfait du résultat, il reflète bien mes positions aussi...

Last week I set up a small survey on my blog to know your preferred innovations on the CF 3.5, I obtained only 11 answers; - (. Here are the results:
We can note a large domination of the WCF, followed by Debug Tools, by Links Test and in last position Linq. In any case, I'm satisfied of the result, it also reflects my positions well…

25 Nov 2007

C# programming directly on device

Pour ceux qui veulent développer du code quand ils ne sont pas au bureau et le tester, ou bien encore qui ne peuvent pas s'empêcher de développer du code pour leur device ;-).
For whose who want to develop code while away from your desktop and be able to test it, or then those which can’t be prevented from developing code for their device ; -).

Jetez un oeil là-dessus !
Check out this !

Merci Peter pour le lien.
Thanks to Peter for the link.

22 Nov 2007

VS 2008 and CF 3.5

VS2008 et le Compact Framework 3.5 sont disponibles via MSDN Premium Subscription.
VS2008 and the Compact Framework 3.5 are available via MSDN Premium Subscription.

Jetez un oeil sur ce lien.
Check this link.

21 Nov 2007

Debug C++ from a C# application

Si vous avez un projet C# qui appelle un DLL d'un projet en C++ voici la méthode pour debugger la DLL en C++ tout en lançant le projet principal en C#.

If you have a C# project which calls a DLL from a C++ project, here the way for debugging the C++ DLL while launching the principal project in C++.





1) Mettre des points d'arrêt dans le C++.
1)Put some breakpoints in C++ code.


2) Dans les propriétés de la DLL en C++, dans l'onglet debugging, changer le path de Remote Directory avec le chemin de l'exécutable en C#.

2) In the C++ DLL properties, in the debugging tab, change the Remote Directory path with the C# executable.








3) Lancer le projet via un clic droit sur le projet C++ et en cliquant Debug/Start new instance

3) Launch the project via a right click on the C++ project and then click on Debug/Start new instance.



Ensuite, si vous avez positionné des points d'arrêt dans le C++, le debugger s'arrêtera donc sur ces points d'arrêt.

Then, if you have set breakpoints in the C++ code, the debugger will stop on these breakpoints.

14 Nov 2007

Transparent background !


Le Compact Framework supporte la gestion de la transparence pour seulement une couleur. Mais, c’est déjà bien pratique et suffisant pour rendre transparent un fond noir rectangulaire par exemple.
The Compact Framework supports transparency color but for only one color. But it is already quite practical and sufficient to make transparent a black rectangular background for example.

Voici un petit exemple de code


Here is a small piece of code

1) Créer l’Image Attribute
1) Create the Image attribute
System.Drawing.Imaging.ImageAttributes attrib = new System.Drawing.Imaging.ImageAttributes();

2) Definissez la couleur de transparence (noir pour notre exemple)
2) Set the transparency color key (black for the example)
attrib.SetColorKey(Color.Black, Color.Black);

3) Dessinez l’image en utilisant l’image attribute
3) Draw the image using the image attribute
e.Graphics.DrawImage(backgroundIm, destRect, 0, 0, backgroundIm.Width, backgroundIm.Height, GraphicsUnit.Pixel, attrib);

Et voici le résulat avec un fond vert clair!
And here is the result with a light green background!


J'espère que cet exemple vous sera utile dans vos dev...
I hope this example will help you to your dev, see you later...

13 Nov 2007

Debug : StopWatch class (CF 3.5)

Voici un petit exemple d'utilisation de la classe StopWatch pour le deboggage de vos applications.
Here is a small example for using the StopWatch class for debugging your app.

// Déclarer un objet StopWatch :
// Declare a StopWatch object :
private Stopwatch stopWatch;

// Démarrer le timer
// Start the timer
stopWatch.Start();

// Vérifier si le timer est activé
// Check if the timer is activated
if (stopWatch.IsRunning) {}

// Arrêter le timer
// Stop the timer
stopWatch.Stop();

// Réinitialiser le timer
// Reset the timer
stopWatch.Reset();

// Récupérer le temps écoulé en tant que valeur de type TimeSpan
// Get the elapsed time as a TimeSpan value
TimeSpan ts = stopWatch.Elapsed;

7 Nov 2007

A small back during Tech07 in Barcelona

Premierememt desole pour les fautes mais jutilise un clavier QWERTY et jai tres peu de temps libre donc... (je viens seulememt davoir te temps de prendre 5 min pour qller voir la mer qui est juste en face ;-). Si vous etes au TechEd passez sur le stand ATE jy serai...
First of all sorry for the mistakes, but I use a QWERTY keyboqrd ;-0 (I just took 5 minutes to see the sea which is just opposite of the CCIB). If you are TechEd in Barcelona come on WM ATE booth I will be there...
Premier retour sur les sessions :
.Net MicroFrameWork
- Commemt creer des devices de petite taille, peu couteux et peu gourmands en ressource... avec seulememt 100kb de RAM et un processeur low-cost. Le tout en C# sur un emulateur.Net MicroFramework ou un device. Je posterai des que possible un exemple dappli (Greg, je compte sur ta collaborqtion). http://www.adeneo-embedded.com/srt/en/document/show?location.id:=1359
- how to develop for tiny, inexpensive and tighly ressource-contrqined devices... required only a few 100 of kb of RAM and low cost processor. With VS, in C#, on emulator and or hardware platform. I will post very soon a post on how to create your first hello world application. (Greg, hope you will help me...) http://www.adeneo-embedded.com/srt/en/document/show?location.id:=1359

- News in CF3.5
WCF, LINK, debug tools...
http://fabdecret.blogspot.com/2007/09/vs2008-beta-2-et-le-cf-35.html

- WPF (for desktop and a subset for .Net MicroFramework, but not supported on .Net CF)
Windows Presentation Foundation (WPF) est la future generation de presentation graphique (IHM) pour Windows.
Cette couche fournit aux developpeurs et aux designers une programmation unifiee pour creer des IHM riches aui incorporent video, documents et autres...
Windows Presentation Foundation (WPF) is the next-generation presentation sub-system for Windows.
It provides developers and designers with a unified programming model for building rich Windows smart client user experiences that incorporate UI, media, and documents.


- Microsotf Robotics Studio on Windows CE and Windows Mobile
Check out this:
http://channel9.msdn.com/Showpost.aspx?postid=352041

- Patterns and Practices Mobile application Blocks...
www.codeplex.com/smartclient
Updater Application block
Configuration application block
Connection Monitor
Disconnected service agent...

Je dois y aller pour une autre session a une prochaine...
I must go for an other session see you later...

4 Nov 2007

SVN + Visual Studio

Si vous voulez utiliser SVN directement depuis Visual Studio, jetez un oeil là-dessus...


If you want to use SVN directly integrated in Visual Studio, check out this...




http://ankhsvn.tigris.org/

29 Oct 2007

Visual Studio 2008 Beta 2 Virtual PC images to expire on Nov 1st

Si vous utilisez une image virtuelle PC de VS2008 Beta 2, http://msdn2.microsoft.com/en-us/vstudio/default.aspx. Cette image expirera le 1er Novembre au lieu du 15 Mars 2008 comme annoncé. Il vous est donc fortement recommandé de prendre les mesures nécessaires avant le 1er Novembre pour sauvegarder vos projets et déplacer vos données de Team Foundation Server ailleurs. Pour les instructions sur le déplacement de ces données, référer vous à l’article Moving Team Foundation Server, http://msdn2.microsoft.com/en-us/library/ms404879(vs.90).aspx sur MSDN.
Pour les informations à jour, référez-vous sur le Visual Studio Developer Center, http://msdn2.microsoft.com/en-us/vstudio/default.aspx.

If you use Visual Studio 2008 Beta 2 VPC images, http://msdn2.microsoft.com/en-us/vstudio/default.aspx. It has been brought to our attention that the current Visual Studio 2008 Beta 2 VPC images will expire on November 1, 2007, rather than March 15, 2008 as originally announced. It is strongly encouraged that you take all necessary steps before November 1, 2007 to back up all your projects and move your Team Foundation Server data to an alternate location. For instructions on moving your TFS data please refer to the article Moving Team Foundation Server, http://msdn2.microsoft.com/en-us/library/ms404879(vs.90).aspx, located on the MSDN Library. For the latest information and up to date information on this please refer to the Visual Studio Developer Center, http://msdn2.microsoft.com/en-us/vstudio/default.aspx
A short Frequently Asked Questions (FAQ) is listed below: FAQ
Q. Will my data be available after November 1, 2007?
A. This is still being researched, however, currently the understanding is that customers will NOT be able to access their date after November 1st unless the data is moved to an alternate installation location.
Q. Can I reset my system date to re-enable the OS image?
A. Again there is still research being done, however, from the current understanding of the problem resetting the system date back DOES NOT re-enable the OS image.

.NET Micro Framework team blog

Vous pouvez trouver un nouveau blog sur le .Net MicroFramework:
http://blogs.msdn.com/netmfteam/
The .NET Micro Framework team blog parle des expériences autour du .Net Micro Framework, des idées et des activités autour de ce produit.
There is a new blog about .Net MicroFramework:
The .NET Micro Framework team blog speaks about .Net Micro Framework experiences, ideas, and activities.

Missing ordinal 1580 with VS2005 and CE6

Si vous avez l'erreur suivante quand vous utilisez les remote tools ou que vous déployez une application :
ERROR: function @ Ordinal 1580 missing in Module 'coredll.dll', vous devez ajouter le composant RTTI (C++ Runtime Support) à votre image CE. Le .NET CF a une dépendance dessus.
If you have the following error message when using remote tools or deploying an application:
ERROR: function @ Ordinal 1580 missing in Module 'coredll.dll', you must add the RTTI component (C++ Runtime Support) to your operating system design. The .NET CF has a dependency on this.


Merci Pierre pour cette astuce ;-).
Thanks Pierre for this trick ;-).

Pour les dérails, consulter le blog de Nicolas Besson
For details see Nicolas Besson's blog

18 Oct 2007

Windows Embedded CE 6.0 R2 Launch Event

Venez vous joindre à l'événement du lancement Windows Embedded CE 6.0 R2 et soyez prêt à construire la prochaine génération des périphériques CE 6.0 R2. Windows Embedded CE 6.0 R2 ajoute des nouveautés à CE 6.0, notamment en matière de connexion avec Windows Vista, Windows Server 2008 et les autres périphériques (WSD technologies, VoIP technologies). C'est un événement virtuel, ainsi vous serez parmi les premiers à découvrir CE 6.0 R2. L'inscription est gratuite depuis où que vous soyez...
Inscription
Join us at the Windows Embedded CE 6.0 R2 Launch Event and get ready to build the next generation of smart, connected devices.Windows Embedded CE 6.0 R2 adds even more exciting technologies to the CE 6.0 operating system - technologies that embedded developers can use to boost their creative capabilities and easily establish connections to Windows Vista, Windows Server 2008 and other devices (WSD technologies, VoIP technologies).This is a virtual event, so you'll be among the first to get up to speed on the latest features in CE 6.0 R2, right from your PC. There's no travel, no registration fees, and no downtime required - just sign up and attend from your office, living room, or any remote location...

15 Oct 2007

TechEd 07 Barcelona


TechEd Developers - 05-09 November 2007, Barcelona, Spain

Le techEd 2007 : évènement européen Microsoft, conférence destinée aux développeurs qui propose des présentations techniques, des informations, des ressources sur le développement des applications avec les outils MS. Je serai sur le stand ATE pour les technos Embedded.
Microsoft’s premier EMEA conference, designed to provide developers with deep dive technical training, information and community resources focusing on building software solutions with Microsoft development tools for current and soon to release products and technologies. I will be there on the ATE booth for Windows Embedded Technologie.

Windows Mobile for Automotive 1.0

Parallèlement à mon post précédent, il existe aussi : Windows Mobile for Automotive 1.0.
C'est une solution flexible, et extensible de Microsoft qui aide l'industrie automobile à proposer de la communication, du divertissement, et des systèmes d'information intégrés à l'automobile plus rapidement, plus facilement, et moins cher. Tout celà favorise l'intégration de fonctions mutliples dans les automobiles.
Les fonctionnalités proposées :
  • connexion Bluetooth pour le kit main-libre
  • port USB pour les MP3s
  • GPS et GSM intégré pour les services : trafic en temps réel, navigation...
Parallel to my preceding post. It exists also Windows Mobile for Automotive 1.0. It is a powerful, flexible, and scalable solution from Microsoft that helps the auto industry deliver integrated in-car communication, entertainment, and information systems faster, easier, and at lower cost. All that facilitates multiple functions in automobiles.
The features are:

  • Bluetooth connectivity for hands-free cell phone use
  • USB port for digital music playback
  • GPS and a built-in GSM phone to connect to services such as real-time traffic, navigation...

Windows Automotive


Etant donné que je suis passioné d'automobiles, je ne pouvais pas manquer de vous présenter : Microsoft Windows Automotive 5.0. C'est une plate-forme logiciel ouverte qui fournit à des OEMs, des fournisseurs ou des développeurs, des briques logiciels pour créer rapidement et avec fiabilité une large gamme de solutions avancées pour les véhicules qui répondent aux besoins des consommateurs de plus en plus exigeants en matière de technologie automobile. Cette plate-forme est basée sur l'OS Microsoft Windows CE 5.0. Le Compact Framework, l'API DirectShow, l'API Direct 3D Mobile, et l'API DirectX sont supportés. Les partenaires automobiles sont Fiat et Ford. Allez jeter un oeil sur le site Windows Automotive Home et regardez les vidéos qui sont plutôt bien...


As I have a passion for automotive, I could not miss presenting to you Microsoft Windows Automotive 5.0. It is an automotive-grade open software platform that provides OEMs, suppliers, and developers with the building blocks they need to quickly and reliably create a broad range of advanced in-vehicle solutions that meet the growing needs of automotive consumers. It is built on the Microsoft Windows CE 5.0 operating system.
It supports the Compact Framework, DirectShow API, Direct 3D Mobile API, DirectX API.
The automotive partners are Fiat and
Ford. Check out the Windows Automotive Home and take a look at the videos, they are formidable...

10 Oct 2007

Display a Gradient Fill

J'ai trouvé ce très bon article sur MSDN qui explique comment agrémenter votre IHM en affichant des dégradés de couleurs. Avec ce code, vous pouvez afficher un dégradé de couleurs dans un contrôle personnalisé ou même en fond d'une Form.

I found this good MSDN article on how to add colorful and pleasing graphics to your application by displaying a gradient fill. With this code, you can display a gradient fill in a custom control and as the form's background.

J'ai essayé un petit exemple et voilà une copie d'écran du résultat, sur les deux boutons et sur le fond de la Form.
I tried a small example and here is a screenshot of the result, on the buttons and on the background.



8 Oct 2007

Vidéo en exclusivité

A l'occasion de la signature d'un accord de partenariat entre Sciences Po et Microsoft, Steve Ballmer, CEO de Microsoft a donné une conférence aux étudiants de l’école.
L’objectif était de partager avec eux sa propre expérience de sortie d’école et comment il s’est retrouvé au coté de Bill Gates, dans une entreprise d’une trentaine de personnes qui développait du logiciel. Steve Ballmer a ensuite donné quelques pistes d’orientation, de perspectives qu’offre le secteur des nouvelles technologies aujourd’hui, l’innovation. L’essentiel étant que « chacun trouve le job qui le passionne » « Find something that grabs you ! »

Releasing the Source Code for the .NET Framework Libraries

Incroyable ! Une des nouvelles fonctionnalités de VS2008 est la possibilité aux développeurs de télécharger et de parcourir le code des classes .Net Framework et facilement activer le débogage à l'intérieur des classes...
Amazing ! One new feature of VS2008 is the ability for .NET developers to download and browse the source code of the .NET Framework libraries, and to easily enable debugging support in them...

Le source code est dispo pour :
The source code is available for the:
  • .NET Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc),
  • ASP.NET (System.Web)
  • Windows Forms (System.Windows.Forms)
  • ADO.NET (System.Data), XML (System.Xml), and WPF (System.Windows)

Voici le lien pour les détails
Here the link for details.

Fréquence MSDN - La WebTV par les développeurs pour les développeurs

(for french guys)

Fréquence MSDNLa WebTV par les développeurs pour les développeurs. L'équipe MSDN vous donne rendez-vous tous les mois en direct pour suivre l'actualité et faire le point sur un ou des sujets, plus ou moins polémiques. C'est l'occasion également d'utiliser la Microsoft Roundtable et le Office Live Meeting !!


Pour s'inscrire


Emission #1 - le 10 Octobre 2007 de 11h à 12h en directAu menu
Editorial
- Le monde de l'Embedded par Eric MitteletteS

Sujet du jour
- Silverlight avec en invités Pierre Lagarde et Christophe LauerL'essentiel du reste d'MSDN
- par Marine Tranquart et Eric Mittelette

Le tour des Evenements
- par Frédéric BojmanLe coin des blogeurs
- par Christophe Lauer et Lucas Riedberger

2 Oct 2007

OpenNETCF Media Player Controls For Windows Mobile

Le nouveau composant OpenNETCF Media Player Control pour Windows Mobile permet d'ajouter facilement de la vidéo dans des applications .NET Compact Framework sur des plateformes Windows Mobile 5.0 ou plus.

The Media Player Control OpenNETCF for Windows Mobile allows developers targeting Windows Mobile 5+ devices to easily add video media within a .NET Compact Framework application.


Les fonctionnalités disponibles sont :
- Démarrer, stop ou pause sur une vidéo
- Démarrer la lecture à une position particulière
- Changer la position courante de la vidéo
- Jouer la vidéo en mode plein écran
- Jouer uniquement la vidéo ou l'audio


The availabe functionalities are :
- Start, stop or pause the media
- Start the media at a specific location
- Change the location of the media playing
- Go full screen
- Play video or audio only media


Je l'ai testé il fonctionne très bien sur Windows Mobile 5.0 ou 6. Une petite subtilité sur WM5.0, si vous voulez faire disparaitre la barre de commandes du Media Player, cliquer sur le menu en dessous de other et changer ‘UIMode’ en full ou aucun. Sur WM6 sur mon PDA Asus A686 vous ne pouvez pas la cacher, j'ai remonté ce problème à OpenNetCF.


I tested it, it works fine and Windows Mobile 5.0 or 6. A small subtlety on WM5.0, if you want to show or hide the media controls from Media Player, in the menu under other you can change the ‘UIMode’ to either full or none. On WM6 on my device Asus A686, you can't hide it, I report that issue to OpenNetCF.


Pour le tester et joindre le beta programme, cliquer ici.

To test it and join the beta program, click here.

28 Sep 2007

How do I ?

Des petites vidéos pour les développeurs Compact Framework, que vous soyez débutant ou pro. Pour les débutants, vous pouvez apprendre comment créer une applications pour les périphériques Mobile ou CE avec le Compact Framework.
Get videos designed for all .NET Compact Framework developers, from the novice to the professional. If you are new to the .NET Compact Framework, you can learn the basics of how to create applications for devices, using either Visual Basic or C#.

How do I?

26 Sep 2007

Media Player Control for Windows CE

OpenNETCF a sorti un nouveau composant Media Player Control for Windows CE qui permet de facilement positionner un contrôle pour jouer un fichier vidéo. Ce contrôle requiert que la cible Windows CE contienne le support de Direct Draw dans l'image.
OpenNETCF released is a Media Player Control for Windows CE devices. It allows you to easily position your playback window anywhere on an application Form. The control requires that the target device has Direct Draw support in the CE image.

Vous pouvez télécharger une petite application de démo.

You can download a small demo application.


Le Media Player contrôle pour Windows CE est uniquement pour les périphériques Windows CE et n'est pas supporté sous Windows Mobile. Un contrôle WM sera disponible dans quelques semaines.

The Media Player Control for Windows CE is only for Windows CE devices and not supported on Windows Mobile. A WM control will be releasing in the coming weeks.

25 Sep 2007

Suggestion Box Forum

Quelles améliorations ou nouvelles fonctionnalités voulez-vous sous WM?
What do you want as new features or improvements in WM?

Si vous avez des idées, n'hésitez pas...
If you have any ideas, don't hesitate...

Suggestion Box forum

(thanks for the link Mike)

24 Sep 2007

Obfuscator for Compact Framework

Pourquoi obfusquer son code?
Why obfuscator?

Normalement, les logiciels sont compilés et distribués en code natif, les séquences d’instructions sont compilées pour un CPU particulier. A l’inverse, le code pour le .Net Framework est compilé en langage CLI. De plus, le code .Net est auto-descriptif, c’est-à-dire que les exe contiennent des métadonnées qui décrivent les types, les méthodes et évènements. Des programmes spécifiques permettent de désassembler le code (décompileurs) exploiter ces informations et régénérer le code source à partir de l’exécutable .Net.
Traditionally, software has been compiled and distributed as native code, sequences of instructions expressed in the language of a particular CPU. In contrast, code designed for the .NET Framework is compiled to an architecture-neutral language known as the common intermediate language, or IL. Furthermore, .NET code is self-describing; that is, .NET executables contain additional metadata which describes the types, methods, fields, and events on which the IL instructions operate. Specially designed programs, known as decompilers, can exploit this information and recover much of the original source code of a program from its compiled .NET executable.

Xenocode Obfuscator est un obfuscateur qui fonctionne avec le Compact Framework, je l’ai essayé, l’IHM est très intuitive et les fonctionnalités sont très complètes. Vous pouvez même générer un seul exécutable contenant votre exe et les DLLs dont il dépend (sauf si votre application est multilingue).
Xenocode Obfuscator is an obfuscator works with the Compact Framework, I have tried it, the HMI is very intuitive and features are complete. You can also generate a one executable containing your exe and the dependency Dlls (except if your application is multilingual).


Le prix est de 499$ pour une licence pour un développeur, mais ça vaut bien son prix.
Une version d'essai de 14 jours est disponible en téléchargement.

The price is about 499$ as a single developer license, but it shall be woth it's price.
More information on the product as well as a 14 days trial
.

Pour le télécharger :
Download at:
http://www.xenocode.com/Products/Postbuild/

18 Sep 2007

New OpenNETCF Community site

Le nouveau site, http://community.opennetcf.com/ est un portail offrant l'accès à des articles sur des sujets variés pour les développeurs mobilité.
The new site, http://community.opennetcf.com/, is a portal for accessing technical articles and whitepapers on a variety of subjects of interest to device developers.
De même, la communauté propose une compétition de codage tous les mois et le site héberge des projets open source.
Also, the Community site is the home a new monthly coding competition and the Community site will be offering hosting for community-based open source projects.


Rendez-vous sur le blog de Neil pour les détails
See Neil's blog for details :

16 Sep 2007

Form effects and navigation

Jettez un oeil là-dessus pour naviguer entre les Forms et ajouter des jolies effets de transition.
Check out this to navigate between your Forms and add nice transition effects.

http://www.aspecto-software.com/rw/applications/developer/flowfx/index.html

(thanks Peter for the link)

Autorun from flash

Windows Mobile supporte une manière automatique d'installer et de désinstaller des applications depuis une carte mémoire externe. Quand une carte est insérée dans le périphérique, l'OS récupère l'évènement et regarde si le répertoire suivant existe en fonction du type de processeur :

Windows Mobile supports an automated way of installing and uninstalling applications from removable external cards. When a card is inserted into a device the OS catches the hardware event and looks on the storage card for a directory that matches the processor type:
ARMV4 : 2577
X86: 686
ARM 720: 1824
MIPS: 4000
SH3: 10003

Si ce répertoire existe l'OS cherche un fichier nommé Autorun.exe et le copie dans le répertoire ‘\windows\autorun\Storage Card Name’. Une fois la copie effectuée l'application est lancée avec le paramètre ‘install’.
If this directory exists the OS looks for a file named 'Autorun.exe' and attempt to copy it to the ‘\windows\autorun\Storage Card Name’ directory. Once the file is copied it is executed with a single parameter string ‘install’.


Pour plus de détails :
For details:

http://msdn2.microsoft.com/en-us/library/Aa458062.aspx

11 Sep 2007

Vista compatible ?



95% des logiciels les plus vendus sur le marché Grand public Français depuis 2005 sont compatibles avec Windows Vista selon BenchExpert
95% of the software most sold on the French market since 2005 are compatible with Windows Vista according to BenchExpert


Microsoft vient de publier les résultats des tests menés par le laboratoire indépendant BenchExpert sur la compatibilité de Windows Vista. Cette étude porte sur les 300 logiciels grand public les plus vendus en France (selon GfK) entre 2005 et 2007. Les tests ont porté sur l’installation, le lancement et le bon fonctionnement des logiciels sélectionnés.
La liste de compatibilité et les résultats sont disponibles sur : http://support.microsoft.com/gp/VistaCompatibility/fr
En complément de cette étude, nous vous rappelons qu’un certain nombre d’applications ont également reçu un logo Certifié ou Compatible Windows Vista® et que d’autres liens intéressants sont à votre disposition :
La liste des applications ayant reçu le logo "Certifié pour Windows Vista®" est disponible à la page Webhttps://winqual.microsoft.com/member/softwarelogo/certifiedlist.aspx (en anglais)
La liste des applications ayant reçu le logo "Compatible Windows Vista®" est disponible à la page Webhttps://winqual.microsoft.com/member/softwarelogo/workswithlist.aspx (en anglais)
L’article en ligne pour vous aider à résoudre les problèmes de compatibilité des programmes dans Windows Vista® :http://support.microsoft.com/kb/927386/fr
Le pack de mises à jour de compatibilité des applications « March 2007 Windows Vista® Application Compatibility Update » qui résout certains problèmes de compatibilité applicative de Windows Vista® est disponible via l'article :http://support.microsoft.com/kb/932246/fr

Retrouvez régulièrement les informations à jour sur le Windows Vista Web Café http://www.windowsvistacafe.com/

2 Sep 2007

CF 3.5 Debug tools with VS2008 Beta 2

Les outils / Tools

Le CF 3.5 inclut des nouveaux outils de diagnostique et d'analyse des performances.
The CF 3.5 includes new diagnostics and performance tools.

  • Premièrement, si vous voulez avoir accès à tous les remote tools, vous devez désinstaller manuellement le CF3.5 et télécharger et réinstaller la version suivante:

    First of all, if you want to access to all the remote tools, you must manually uninstall the CF3.5 and download and install the following version :

    http://www.microsoft.com/downloads/details.aspx?FamilyID=1343d537-a62f-4a6e-9727-7791bf4cc2bd&displaylang=en

    Ensuite, vous disposerez de tous les outils d'aide au développement dans :
    Then, you will have all the tools to help the application development in :

    C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin

  • Le device Security Manager est intégré à VS2008.
    Device Security Manager is now integrated in VS 2008
    http://fabdecret.blogspot.com/2007/04/windows-mobile-security.html

  • Le Remote Performance Monitor est inclus dans VS2008.
    The Remote Performance Monitor is now included in VS2008


Cette application permet aussi de voir le GC heap toute la durée de vie de l'application avec les allocations du GC et les libérations de mémoire. Ainsi, vous pouvez analyser les allocations faites pour les objets.
This application can also show the GC heap over the lifetime of an application and the GC allocates and frees memory. Then, you can analyze objects allocations.
  • Device Logging Configuration tool

    Cette application permet d'activer ou de désactiver le réseau, le loader, native interop logging…
    The application allows you to activate or disable network, loader, native interop logging…



















                                      • Le CF 3.5 supporte le CLR Profiler, qui n'était disponible que pour le Framework dans les versions précédentes. Cet outil offre la possibilité de visualiser le heap managé d'un processus et d'analyser le comportement du garbage collector.
                                        The .NET Compact Framework 3.5 supports the CLR Profiler, which was previously available only with the full .NET Framework. The profiler enables you to view the managed heap of a process and investigate the behavior of the garbage collector.










                                      Grâce à cet outil les éléments suivant peuvent être visualisés (avec quelques copies d'écrans des fenêtres) :
                                      This tool provides viewing the following elements (with some screenshot of the window):




                                      • Histogram allocated Types
                                      • Histogram Relocated Types
                                      • Object by adress
                                      • Histogram by Address
                                      • Allocation Graph
                                      • Assembly Graph
                                      • Function Graph
                                      • Module Graph
                                      • Class Graph
                                      • Heap Graph

                                      • Call Graph
                                      • Time Line
                                      • Call Tree

                                      • Unit Testing pour Smartdevice, permet de tester votre application avec des tests unitaires. Vous pouvez lancer ces tests unitaires tout au long du cycle de développement.
                                        Unit Testing for Devices allows you to develop a suite of unit test to test your code. You can run the tests continuously during the developpement cycle.


                                      Avec Visual 2008 Beta 2 et le Compact Framework 3.5, il y a beaucoup de nouvelles améliorations et perfectionnements qui sont vraiment utiles pour le développement mobilité. Dès que vous l'aurez testé, n'hésitez pas à poster vos commentaires.
                                      There are a lot of new improvements and enhancements for mobile development that are really useful with VS 2008 Beta 2 and Compact Framework 3.5. As soon as you test it, do not hesitate to post your comments.

                                      VS2008 Beta 2 et le CF 3.5

                                      Voici un petit aperçu des nouveautés de VS2008 Beta 2 pour le développement mobilité (CF 3.5). Vous pouvez la télécharger ici:
                                      Here is a small description of the new features in VS2008 Beta 2 for the smartdevice development (CF 3.5). You can download it here:
                                      http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx

                                      Nouveautés pour la création de projets mobile:
                                      New projects wizard for mobile applications:


                                      Vous pouvez choisir la plate-forme et la version du Compact Framework désiré.
                                      You can choose the platform and the Compact Framework version you want.




                                      Compact Framework 3.5

                                      Le CF 3.5 inclut les nouvelles fonctionnalités suivantes :
                                      CF 3.5 includes the new following features:


                                      • WCF (Windows Communications Foundation)
                                        http://blogs.msdn.com/markprenticems/archive/2007/04/25/introduction-to-the-windows-communication-foundation-for-the-net-compact-framework-store-and-forward-messaging.aspx
                                      • LINQ (Language Integrated Queries)
                                        http://msdn2.microsoft.com/fr-fr/netframework/aa904594.aspx
                                      • Améliorations dans les Windows Forms
                                        Windows Forms the improvements :
                                        Les utilisateurs peuvent ajouter des graphiques aux:
                                        Users can now add graphics to:
                                        o System.Windows.Forms.TabPage
                                        o System.Windows.Forms.Panel
                                        o System.Windows.Forms.Splitter
                                        o System.Windows.Forms.PictureBox
                                        Les propriétés System.Windows.Forms.ComboBox.SelectionLength sont maintenant supportées.
                                        System.Windows.Forms.ComboBox.SelectionLength properties are now supported.
                                      • SoundPlayer
                                        Le .NET Compact Framework 3.5 supporte la classe SoundPlayer dans le namespace System.Media, qui permet de jouer plusieurs sons.
                                        The .NET Compact Framework 3.5 supports SoundPlayer in System.Media namespace, which enables you to play multiple sounds.
                                        http://msdn2.microsoft.com/en-us/library/system.media.soundplayer_members(VS.90).aspx

                                        Notez que la méthode Play joue le son dans un nouveau thread. Si vous appelez Play avant que le fichier de musique n'ait été chargé en mémoire, le fichier .Wav sera chargé avant que la lecture ne commence. Vous pouvez utiliser LoadAsync ou Load pour charger le fichier en mémoire par avance.
                                        Note that the Play method plays the sound using a new thread. If you call Play before the .wav file has been loaded into memory, the .wav file will be loaded before playback starts. You can use the LoadAsync or Load method to load the .wav file to memory in advance.

                                      • Compression
                                        Le Compact Framework 3.5 supporte les classes suivantes pour la gestion de la compression.
                                        The .NET Compact Framework 3.5 adds support for the following classes in the System.IO.Compression namespace:
                                        o System.IO.Compression.CompressionMode
                                        o System.IO.Compression.DeflateStream
                                        o System.IO.Compression.GZipStream
                                        De plus, la propriété System.Net.HttpWebRequest.AutomaticDecompression est dorénavant supportée.
                                        In addition, the System.Net.HttpWebRequest.AutomaticDecompression property is supported.

                                      • Les certifications coté client d'authentification des appels de Web Service sont supportées.
                                        Client-side certificates are supported to authentificate Web Service calls.

                                      • Le CF 3.5 fournit des nouvelles informations concernant le type de plate-forme, notamment si c'est une plate-forme de type PPC ou Smartphone ou WinCE.
                                        The .NET Compact Framework 3.5 provides new information about the platform type, specifically whether a platform is a Pocket PC or a Smartphone or Win CE.
                                        La variable contenant ces informations est :
                                        The variable containing this information is :
                                        SystemSettings.Platform with an enumeration type:
                                        o WinCEPlatform.PocketPC
                                        o WinCEPlatform.Smartphone
                                        o WinCEPlatform.WinCEGeneric

                                      • Les DelegatesSupport pour System.Delegate.CreateDelegate(System.Type,System.Object,System.Reflection.MethodInfo) ont été ajoutés au .NET Compact Framework 3.5.
                                        DelegatesSupport for System.Delegate.CreateDelegate(System.Type,System.Object,System.Reflection.MethodInfo) has been added to the .NET Compact Framework 3.5.

                                        http://msdn2.microsoft.com/en-us/library/74x8f551.aspx
                                      Avec Visual 2008 Beta 2 et le Compact Framework 3.5, il y a beaucoup de nouvelles améliorations et perfectionnements qui sont vraiment utiles pour le développement mobilité. Dès que vous l'aurez testé, n'hésitez pas à poster vos commentaires.
                                      There are a lot of new improvements and enhancements for mobile development that are really useful with VS 2008 Beta 2 and Compact Framework 3.5. As soon as you test it, do not hesitate to post your comments.

                                      13 Aug 2007

                                      Bitmap lock

                                      Pour éviter de verrouiller un fichier Bitmap lors de son utilisation, voici comment charger un Bitmap. Sinon quand you essayerez d'accéder au fichier, vous obtiendrez une exception "can not access file".

                                      To avoid to lock a Bitmap file, here is how to load a Bitmap. Else, when you access to the file, you will have a "can not access file" exception.

                                      using (Stream s = File.OpenRead(@"\My Documents\My Pictures\Waterfall.jpg"))
                                      Bitmap _backImage = (Bitmap)Bitmap.FromStream(s);


                                      Ink WISP Lite

                                      Dans le SDK WM 6.0 pour les applications natives, vous avez le nouveau composant WISP Lite qui permet à l'utilisateur d'utiliser le stylet pour saisir du texte, ensuite ce composant peut reconnaître le texte saisi.
                                      In WM6.0 SDK for native application, you have the new WISP Lite component allows user to input text with stylus, then WISP Lite can recognize the text.

                                      Voici un exemple de code pour utiliser le WISP Lite:
                                      Here is a code example for using WISP Lite:


                                      1. // Create the signature window
                                        hWndInk = CreateWindow( TEXT("static"),
                                        NULL,
                                        WS_VISIBLE WS_CHILD WS_BORDER,
                                        left,
                                        top + 20,
                                        215,
                                        150,
                                        hWnd,
                                        NULL,
                                        hInstance, NULL);

                                      2. // Attach the inkoverlay to the windows and enable it
                                        hr = ::CoCreateInstance(CLSID_InkOverlay,
                                        NULL,
                                        CLSCTX_INPROC_SERVER,
                                        IID_IInkOverlay,
                                        (void **)&g_pInkOverlay);
                                        ASSERT(SUCCEEDED(hr));

                                        hr = g_pInkOverlay->put_hWnd((long)hWndInk);
                                        ASSERT(SUCCEEDED(hr));

                                        hr = g_pInkOverlay->put_Enabled(VARIANT_TRUE);
                                        ASSERT(SUCCEEDED(hr));

                                      3. // Get the strokes and convert to a string
                                        hr = g_pInkOverlay->get_Ink( &pInk );
                                        // Get all the strokes in the ink object
                                        hr = pInk->get_Strokes(&pStrokes);
                                        // Get the recognition result for these strokes
                                        hr = pStrokes->get_RecognitionResult(&result);
                                        // Get the top recognized string
                                        hr = result->get_TopString(&resultString);

                                      Et c'est fini, resultString contient la chaîne de caractères.
                                      And it is finished, resultString contains the string.


                                      Vous pouvez trouver des exemples plus complets dans le WM6 SDK Refresh :
                                      You can find more examples in the WM6 SDK Refresh directory:

                                      \Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CPP\win32\WISPLite


                                      7 Aug 2007

                                      Extract method tool

                                      Cet outil permet de créer une nouvelle méthode à partir d'un morceau de code. Il est alors très aisé de faire appel à plusieurs reprises à cette section de code, par un simple appel de la méthode. Les paramètres en entrée ou en retour sont automatiquement gérés.
                                      This tool makes it possible to create a new method starting from a piece of code. Then, it is very easy to on several occasions call this section of code, by a simple call of the method. The returns and in parameters are automatically managed.


                                      1) Sélectionner le code

                                      1) Select the code


                                      2)Cliquer sur la fonction extract

                                      2) Click on extract method




                                      3)Attribuer un nom à la nouvelle fonction

                                      3) Set the name of the new function








                                      30 Jul 2007

                                      Migration CF1.0 to CF2.0

                                      Voici un lien intéressant sur la migration d’une application du CF1.0 vers du CF2.0. Je rajouterai juste une recommandation si comme moi vous aviez utilisé des Forms imbriquées dans des panels pour palier le manque des UserControls du CF1.0 ce n’est plus possible sous le CF2.0, il vous faudra donc convertir vos Forms en UserControl. Sinon vous obtiendrez une exception à l'exécution.


                                      Here is an interesting link on migration of an application from CF1.0 to CF2.0. I will add just a recommendation as me you had used Forms imbricated in panels for stage the lack of UserControls in CF1.0, it is no more possible under the CF2.0, it will thus be necessary for you to convert your Forms into UserControl. Else, you will obtain an exception at the execution.


                                      http://msdn2.microsoft.com/en-us/library/bb435027.aspx

                                      19 Jul 2007

                                      Hibernate Windows CE message

                                      Qu'est-ce que c'est?
                                      Ce message Windows est envoyé à toutes les applications ouvertes quand les ressources mémoires sont très faibles (en dessous de 224KB sur PPC). Une application doit libérer de la mémoire autant que possible quand elle reçoit ce message en déchargeant des boîtes de dialogue, détruisant des fenêtres ou libérer de l'espace de stockage temporaire.
                                      What is it?
                                      This Windows message is sent to all opened applications when system resources are running low (under 224KB on PPC). An application should attempt to release as many resources as possible when sent this message by unloading dialog boxes, destroying windows, or freeing up as much local storage.

                                      Vous pouvez répondre à cette évènement en code managé en s'accrochant sur l'event Hibernate.
                                      You can respond to this event in managed code with the Hibernate event.

                                      Voici un exemple d'utilisation :
                                      Here is an example :
                                      // Connect an event hander, OnHibernate, to the Hibernate event.
                                      MobileDevice.Hibernate += new EventHandler(OnHibernate);

                                      private void OnHibernate(object sender, EventArgs e)
                                      {
                                      // Add code here to release cached resources
                                      // for relieving memory pressure.

                                      }

                                      12 Jul 2007

                                      Book for CF2.0 developper

                                      Si vous avez besoin d'un livre sur le Compact Framework, jetez un oeil à celui-ci. Je l'ai acheté au MEDC 2007 à Berlin et il est très intéressant et bien fait et couvre de nombreux sujets sur le CF. En revanche, il n'existe seulement en anglais.

                                      If you need a book about Compact Framework, check out this one. I have bought it at the MEDC 2007 in Berlin and I find it is very interesting and well written and covers many subjects on CF.

                                      http://www.danielmoth.com/Blog/2007/05/mobile-development-handbook.html



                                      11 Jul 2007

                                      Time event on Windows Mobile with SNAPI

                                      Vous avez besoin de remonter un évènement périodique sous Windows Mobile 5.0 ou 6, il existe une classe qui permet de le faire : SystemState class. Ainsi, vous pourrez émettre une alerte ou lancer une application à des dates et heures données.
                                      You need to get a periodic event on Windows Mobile 5.0 or 6, there an interesting class to do this: SystemState class. Thus, you will be able to emit an alarm or to launch to an application to dates and hours given.

                                      Tout d'abord, il suffit de créer un objet SystemState avec la property Time.
                                      First of all, you need to create a SystemState object with the property Time.
                                      SystemState _time = new SystemState(SystemProperty.Time);

                                      Puis, s'accrocher à l'évènement Changed.
                                      Then, add the Changed event to _time object.
                                      _time.Changed += new ChangeEventHandler(_time_Changed);

                                      Toutes les minutes, l'évènement est remonté. Ensuite dans le délégué, vous pouvez tester la valeur courante en la convertissant en DateTime:
                                      Every minute, the event fired. Then in the delegate, you can test the current value by converting it into DateTime type:
                                      void _time_Changed(object sender, ChangeEventArgs args)
                                      {
                                      // Obtenir la date courante
                                      // Get the current Date Time
                                      byte[] btTime = (byte[])SystemState.GetValue(SystemProperty.Time);
                                      Int64 lngTime = BitConverter.ToInt64(btTime, 0);
                                      DateTime time = DateTime.FromFileTime(lngTime);
                                      // Ajouter le test sur la date que vous voulez !
                                      // Add the test on the date you want !
                                      }

                                      J'ai essayé de mettre une condition pour l'évènement SystemState, mais ça ne fonctionne pas.
                                      Voici le code réutilisable pour les autres propriétés pour lesquelles ça fonctionne:
                                      I tried to put a condition for the SystemState event, but it doesn't work. Here is the reusable code for the others properties for which that works:
                                      _time.ComparisonType = StatusComparisonType.Equal;
                                      _time.ComparisonValue = TheValueToCompare;

                                      J'espère que ça vous sera utile si vous avez besoin de faire un réveil ou pour une autre utilisation, n'hésitez pas à poster vos commentaires.
                                      I hope that that will be useful for you if you need to make an alarm or for another use, don't hesitate to post your comments.

                                      9 Jul 2007

                                      Interesting links

                                      Voici deux liens interessants à ajouter à vos favoris :
                                      Here are two interesting links to add to your favorites:

                                      Migration vers Windows Mobile 5.0 :
                                      Windows Mobile Migrating from a previous version:


                                      Snippets pour Windows Mobile :
                                      Snippets for Windows Mobile:


                                      J'essayerai de poster régulièrement des liens vers d'autres sites ou blogs que je trouve interessant.
                                      I will try to post regulary links to others sites ot blog I fing interesting.

                                      2 Jul 2007

                                      MVP nomination...

                                      Pour la première fois, je suis nommé Device Application Development MVP par Microsoft. Merci !


                                      For the first time, I'm nominated Device Application Development MVP by Microsoft. Thanks !

                                      Install unicode Fonts

                                      Si vous avez besoin d'utiliser des polices chinoises ou russes ou autres..., vous pouvez utiliser la police Arial Unicode (ArialUni.ttf). Vous pouvez la trouver sur Internet ou sur votre PC.
                                      If you need to use Chinese, Russian or others fonts..., you can use the ArialUnicode font (
                                      ArialUni.ttf). You can find it on the Internet or on your PC.


                                      Voici le code en C# qui vous permet d'installer des fonts sur votre device :
                                      Here is the C# code in order to install fonts on your device:

                                      [DllImport("coredll.dll", SetLastError = true)]
                                      public static extern int AddFontResource(string lpName);

                                      Pour l'utilisation :

                                      For using:
                                      AddFontResource(@"\Windows\Polices\" + theFontYouWantToAdd);