30 Dec 2008

Serial port IRDA mode

Pour utiliser un port série en mode IR sous WINCE ou Windows Mobile

  1. Appeler la fonction EscapeCommFunction avec le paramètre dwFunc à SETIR.
  2. Utiliser les fonctions standards de communications série pour transmettre et recevoir des données.
  3. Appeler la fonction EscapeCommFunction avec le paramètre dwFunc à CLRIR pour remettre le port série en mode série classique.


 

To use a serial port in IR mode with WINCE or Windows Mobile

  1. Use the EscapeCommFunction function with the dwFunc parameter set to SETIR.
  2. Use the standard serial communications functions to transmit and receive data.
  3. Call the EscapeCommFunction with the dwFunc parameter set to CLRIR to set the port back to normal serial mode.


 

Audio Update registry

Quand vous faites des modifications en base de registre qui concernent le son, vous avez souvent besoin de reseter le device pour prendre en compte les modifications. Une autre solution est d'appeler la fonction non documentés suivante : AudioUpdateFromRegistry.

Pour l'importer en C# :

[DllImport("coredll")]

public
static
extern
void AudioUpdateFromRegistry();


 


 

When you make modifications concerning sounds in registry, sometimes you need to reboot your device to consider the modifications. Another solution is to call the undocumented function AudioUpdateFromRegistry.

Here is the C# import:

[DllImport("coredll")]

public
static
extern
void AudioUpdateFromRegistry();

26 Nov 2008

PInvoke DllIImport

When you are connecting managed code to native, it is often a pain to figure out how to write the “DllImport” properly. It allows you to search on a function name and see user contributed definitions for the DLL Import…

Pour l'import de fonctions natives dans votre code managée, voici une bonne adresse pour récupérer tous les DLLimports dont vous avez besoin. Cela vous permet de chercher à partir d'un nom de fonction et de récupérer la définition pour le "DLLimport".

http://www.pinvoke.net/

OpenNetCF SDF 2.3

The Smart Device Framework is our award-winning framework that provides hundreds of classes and thousands of properties and methods to extend the behavior of the .NET Compact Framework. SDF 2.3 is finally available

Le framework de développement pour Smart device qui propose des 100 de classes et de propriétés pour étendre les fonctionnalités du Compact Framework est maintenant disponible en version 2.3.

  • Visual Studio 2008 Designer Support (CF 2.0 projects only)
  • Full Library Source Code
  • Visual Studio 2008 Sample Applications, including source code
  • Visual Studio 2008 Help Integration



  • 18 Nov 2008

    Change the keyboard layout

    Un petit article sur comment changer le layout du clavier sous Windows CE, premièrement vous pouvez utiliser la fonction suivante pour récupérer la liste de tout les layouts pré-chargés.
    A small post on how to change the keyboard layout, first of all, you can use the following function to get the list of all the pre-downloaded layouts:

    UINT GetKeyboardLayoutList(int nBuff, HKL* lpList);
    http://msdn.microsoft.com/en-us/library/ms646297(VS.85).aspx

    Ensuite pour activer le layout désiré, appeler la fonction suivante :
    Then to activate the chosen layout, call the following function:

    HKL ActivateKeyboardLayout(HKL hkl, UINT Flags);
    http://msdn.microsoft.com/en-us/library/ms646289(VS.85).aspx

    Autrement vous devez pouvoir simuler un appui sur ALT+SHIFT en remontant le message suivant :
    Then, you can also simulate a press on ALT+SHIFT and get back the following message:

    WM_INPUTLANGCHANGEREQUEST
    http://msdn.microsoft.com/en-us/library/ms632630(VS.85).aspx

    Thanks to Otter for this tip.

    12 Nov 2008

    Windows Mobile Smackdown Tech Ed 2008

    Hi all,


    I attended to a session called the Windows Mobile Smackdown. The Smackdown is a session where we show cool applications and solutions for Windows Mobile. I share with you the good links...


    Jai assiste a une session appelee the Windows Mobile Smackdown. Le 'Smackdown' est une session ou sont presentees les applis et solutions sympas pour Windows Mobile. Voici quelques liens interessants...


    Kinoma - http://kinoma.com/ - Kinoma Play is all you need to enjoy video, audio and pictures

    MY MOBILER - http://www.mymobiler.com/ - View your mobile screen on your desktop

    PowerSMS - http://www.trinketsoftware.com/Products.aspx - Manage your SMSs

    Slingbox - http://www.slingmedia.com/ - access your TV from anywhere in the world on your device

    Celio Redfly - http://celiocorp.com/ - A cool PDA Extender

    Business Card Scanner - http://store.penpowerinc.com/mobile.html - take pictures of business cards and then OCR them straight into your contacts

    Tiny Twitter - http://www.tinytwitter.com/ - access your twitter account and tweet from your device

    Team Calendar - http://www.teamcalendar.com/ - Want to get access to colleagues schedules or diaries on your device?

    Dashwire - http://www.dashwire.com/ - sync your device to a web service and access all your content online

    Snap2Face - http://www.magnifoca.com/download_snap2face.html Access your Facebook photos and even upload new photos too

    WiFi Router - http://www.wmwifirouter.com/ - use your Windows Mobile device as a Wi-Fi Router

    Qik - http://www.qik.com/ - upload videos from your device straight to Qik

    Guitar Hero 3 - http://www.guitarheromobile.com/ - Rock out to GH3 - now all we need is a Bluetooth mini guitar!

    24 Oct 2008

    Tech Ed 2008

    Hi all,

    Désolé pour le manque d'activité de ces derniers temps, mais j'étais un peu débordé... Je vais me remettre à écrire de nouveaux articles régulièrement...
    Sorry for the lack of activity of this last ones time, but I was a little overloaded... I'm going to start again quickly writing new articles regularly...

    Pour commencer, j'assisterai au Tech Ed 2008 en tant que ATE sur le stand Windows Mobile, j'espère donc vous y voir nombreux si vous comptez y assister.
    To begin, I will attend to Tech Ed 2008 on the Windows Mobile ATE booth, I hope to see you there if you plan to attend it.


    Fabien


    21 Jul 2008

    Windows Mobility Briefing WEBCASTS (in French only)

    Bonjour à tous,


    Avec Stéphane Sibué, nous avons présenté en mai une sessions spéciale développeurs au Windows Mobility Briefing.
    Voici les sessions webcastées :
    Visual Studio 2008 arrive avec des nouveautés pour les développeurs de terminaux embarqués et mobiles. Cette session vous présentera l'utilisation des outils de debug, de tests unitaires, de monitoring, de simulation mis à disposition pour le développement d'applications pour Windows Mobile et Windows Embedded CE. Vous pourrez aussi assister à des démonstrations de mise en œuvre de WCF over email ou bien encore l'utilisation de LINQ pour le développement de ce type d'applications.
    http://www.microsoft.com/france/Vision/mobility2008/Webcast.aspx?EID=5F9F0909-4059-4FCD-BC90-5A66C2E45512
    En s'appuyant sur Visual Studio et le Compact Framework, il est possible de développer des applications très riches pour Windows Mobile. Stéphane Sibué vous montrera comment tirer parti des équipements des appareils Smartphones et PDAs de dernière génération tels que le GPS ou l'appareil photo, des services en ligne comme Live et des outils de développement mis à disposition pour les applications mobiles.
    http://www.microsoft.com/france/Vision/mobility2008/Webcast.aspx?EID=7C84AEB6-F68D-4A05-844E-25B420F8E308
    ...

    23 Jun 2008

    30 applications during June

    Here is an interested link with the presentation of a small Windows Mobile application each day of June.

    Voici un lien intéressant avec une présentation de petites applications Windows Mobile chaque jour du mois de juin.

    Les applications présentées sont les suivantes :

    GPS Clock
    MobileInfo
    Mobile Flashlight
    CallBlocker
    Repeatr
    GeoCash
    SmartDial


    http://www.cjcraft.com/blog/default,month,2008-06.aspx

    20 Jun 2008

    Windows Embedded NavReady

    Qu'est-ce que ça apporte en plus ?

    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".
    Windows Embedded NavReady est basé sur Ce5.0 car la plupart des PND actuels du marché sont basés sur cet OS.

    What does it bring?

    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.

    Les nouveaux composants proposés sont :
    • Live Search pour retrouver les informations concernant les POI.
    • the ability to perform Live Search to find POI information.
    • Possibilité de coupler son PND à son téléphone portable via Bluetooth pour la gestion des communications.
    • key Bluetooth technologies 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.
    • 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.
    • enabling OEMs to integrate MSN Direct technologies by providing up-to-date information such as traffic alerts and fuel prices.
    • Possibilité de connecter son PND à son PC Vista via Windows Sideshow.
    • Inside the home, GPS devices will be able to function as a Windows Sideshow device to Windows Vista, allowing the device to interact with various Windows Vista gadgets to receive, send or display information important to the end-user.

    16 Jun 2008

    RAPI OpenNetCF Bug

    Si 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.
    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.

    public class FileInformation //WIN32_FIND_DATA {

    private byte[] data = new byte[512];


    to

    public class FileInformation //WIN32_FIND_DATA {

    private byte[] data = new byte[560];

    5 Jun 2008

    Detect SDCard ou USB key insertion

    Voici deux petits exemples de code permettant de détecter l'insertion d'une SDCard ou d'une clé USB :
    Here are 2 code examples for detecting SDCard orUSB key insertion:
    avec la WndProc :
    with the WndProc:
    case WM_DEVICECHANGE:
    if (wParam == DBT_DEVICEARRIVAL)
    {
    Sleep(300);
    WIN32_FIND_DATA fd;
    if (FindFirstFile(L"sdmmc disk", &fd) != INVALID_HANDLE_VALUE)
    {
    //Add your code
    }
    }
    break;

    avec les notifications Windows CE :
    With the Windows CE system notifications:
    m_DevNotifyGuid = STORE_MOUNT_GUID;
    memset(&m_tMsgQOptions, 0, sizeof(m_tMsgQOptions));
    m_tMsgQOptions.dwSize = sizeof(m_tMsgQOptions);
    m_tMsgQOptions.dwFlags = 0;
    m_tMsgQOptions.dwMaxMessages = 0;
    m_tMsgQOptions.cbMaxMessage = 4096;
    m_tMsgQOptions.bReadAccess = TRUE;
    m_hDevNotifyMsgQ = CreateMsgQueue(NULL, &m_tMsgQOptions);
    m_hDevNotify = RequestDeviceNotifications( &m_DevNotifyGuid, m_hDevNotifyMsgQ, TRUE );

    // Infinite Loop to detect all mounted drive
    while (true)
    {
    // Wait for notifications
    WaitForSingleObject(m_hDevNotifyMsgQ,INFINITE);
    ReadMsgQueue(m_hDevNotifyMsgQ, lpBuffer,4096,&dwNbRead,1000,&dwFlags);
    // Add your code
    }

    Pour utiliser les notifications en C#, il suffit de faire les imports des fonctions suivantes :
    To use the notifications in C#, you have to import the following functions:
    -RequestDeviceNotifications
    -StopDeviceNotifications
    -WaitForSingleObject
    -CreateMsgQueue
    -ReadMsgQueue
    Ou de surcharger la WndProc pour la première méthode.
    Or override the WndProc for the first example.

    Ce code peut aussi être utile au démarrage de votre device si vous souhaitez lancer une application C# installée sur une SD.
    This code can be also used if you have a startup application installed on a SDCard.

    12 May 2008

    MICROSOFT Mobility Briefing 2008

    Bonjour à tous,

    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....
    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...
    This event will be in Paris in french only.

    20 Apr 2008

    Custom cursor

    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#.
    A very usefull article on how to create a custom animated wait cursor on Windows Mobile.

    Detect Windows Mobile Version

    Si vous voulez savoir quelle version de Adaptation Kit Update (AKU) vous disposez dans votre device Windows Mobile, jetez un oeil sur ce lien.

    If you want to know which version of known Adaptation Kit Update (AKU) releases you have in your device, check out this link.

    Pour voir l'AKU de votre device, vous pouvez :
    Aller dans le menu : Start / Settings / System Tab / About
    Dans une application C#, appeler la méthode OSVersion.Version
    Utilisez la clé de registre : HKLM\SYSTEM\Versions\Aku

    To see the AKU of your device, you can :
    type : Start / Settings / System Tab / About
    Using a C# application, the
    OSVersion.Version method returns build information.
    Using the Registry : HKLM\SYSTEM\Versions\Aku

    Products renaming

    Voici un tableau récapitulatif des nouveaux noms de produit Windows Embedded.
    Here is a small tab presenting the next releases names of the different products of Windows Embedded.

    Silverlight Mobile


    Pour faire suite à mon article annonçant une prochaine sortie de Silverlight pour Windows Mobile, voici un petit complément. Pour créer des applications Internet riches, Silberlight est maintenant disponible pour Windows Mobile.
    To make following my article announcing a next release of Silverlight for Windows Mobile, here is a small complement. To create rich internet applications, Silberlight is now available for Windows Mobile.


    La première version de Silverlight sera disponible second semestre 2008 pour Windows Mobile 6.
    First Developer CTP for Silverlight for mobile available in 2nd Quarter of CY 2008 targeting Windows Mobile 6.

    Sur WM, Silverlight sera sous form de pluggin pour le broxwser, de la même manière que la version web.
    Silverlight on mobile will take the form of a browser plug-in, the same as the web version.

    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.
    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.

    29 Mar 2008

    TechDays Webcast


    Pour ceux qui n'étaient pas aux TechDays, et qui veulent visualiser les webcasts voici le lien : http://www.microsoft.com/france/vision/mstechdays08/





    Voici un webcast de ma session sur VS2008 et le CF 3.5. N'hésitez pas à me faire vos commentaires :







    TechDays Webcast of my session on VS2008 and the CF 3.5, it is in French only, sorry...


    19 Mar 2008

    Mobile Line of Business Accelerator 2008

    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 : télécharger

    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.
    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.

    Les fonctionnalités du Compact Framework mises en œuvre sont :

    • Sync Services for ADO.NET avec SQL Server 2008
    • Store and Forward Transport avec Exchange Server 2007
    • Accès à des Web Service maps depuis MapPoint
    • Controls customs
      • Signature Control
      • Listview avec en-tête de colonne avec dégradés de couleurs

      • Boutons avec dégrades de couleurs


      • Splash Screen


    • State and Notification Broker API
    • ADO.NET Communication avec SQL Server Compact.
      • Triggers managés
      • Procédures stockées managées
    • Déploiement de fichier CAB
    • Utilisation de LINQ
    • Divers
      • Language Localization
      • Gestion des fichiers d'aide
      • Adaptation automatique de l'application à différentes tailles d'écran ou méthodes de saisie

    For all those which want an example of application shows all that the CF 3.5 can offer, here what you need: download


    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.


    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.


    Compact Framework features used:

    • Sync Services for ADO.NET with SQL Server 2008
    • Store and Forward Transport with Exchange Server 2007
    • Web Service retrieval of maps from MapPoint
    • Custom Controls
      • Signature Control
      • Gradient Header control on a listview
      • Gradient Button control
      • Splash Screen
    • State and Notification Broker API
    • ADO.NET Communication with SQL Server Compact.
      • Managed Triggers
      • Managed Stored Procedures
    • CAB deployment project
    • Use of LINQ
    • Miscellaneous
      • Language Localization
      • Help Files Management
      • CAB Development example
      • Adapt your Application for different screen sizes or input methods

    17 Mar 2008

    Sign a CAB file

    Create a Windows Mobile certificate:

    http://www.codeproject.com/KB/mobile/signcode.aspx

    Acheter un certificat :
    Buy a certificate :
    http://www.verisign.com/

    Install the certificate with the CAB:

    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.
    Copy the CAB file on the device and launch it, the cab is not signed, so you have to accept the warning message.

    Sign the CAB and all its content:

    Avec l'outil cabsigntool disponible lors de l'installation du SDK WM 6, C:\Program Files\Windows Mobile 6 SDK\Tools\Security\CabSignTool

    With the tool cabsigntool available with the SDK WM 6.0, C:\Program Files\Windows Mobile 6 SDK\Tools\Security\CabSignTool


    cabsigntool MyCAB.CAB MyCABSign.cab -f MyCert.pfx

    CABSIGNTOOL: Signs a CAB and all its executable content (.exe, .dll)

    with specified certificate(s).

    Input CAB : MyCAB.CAB

    Output CAB : MyCABSign.cab

    signtool command line:-

    for cab : -f MyCert.pfx

    for files : -f MyCert.pfx


    CABSIGNTOOL: Extracting CAB contents.

    CABSIGNTOOL: Signing CAB contents.

    Done Adding Additional Store

    Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\000CRlib.003

    Done Adding Additional Store

    Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\ECHODI~1.004

    Done Adding Additional Store

    Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\ECHODI~1.005

    Done Adding Additional Store

    Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\VIDEOB~1.001

    Done Adding Additional Store

    Successfully signed: C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\VIDEOI~1.002

    CABSIGNTOOL: Re-packing CAB.

    Microsoft (R) Cabinet Maker - Version 5.1.2600.2180

    Copyright (c) Microsoft Corporation. All rights reserved..

    Parsing directives (C:\DOCUME~1\fdecret\LOCALS~1\Temp\CabDDA.tmp\wizDDB.tmp: 1 l
    1,097,294 bytes in 12 files
    Total files: 12
    Bytes before: 1,097,294
    Bytes after: 1,097,294
    After/Before: 100.00% compression
    Time: 0.31 seconds ( 0 hr 0 min 0.31 sec)
    Throughput: 3423.57 Kb/second

    CABSIGNTOOL: Signing CAB.

    Done Adding Additional Store

    Successfully signed: MyCABSign.cab

    CABSIGNTOOL: Done.

    Install the signed CAB

    Vous pouvez maintenant lancer vos CAB et vos applications signés avec le certificat et de fait ne plus avoir de message d'avertissement.

    You can now launch your CAB file and your applications signed with the certificates and not have to accept the warning message.

    10 Mar 2008

    Component CF 3.5 for PB

    Le composant Compact Framework 3.5 est disponible pour Platform Builder !!! (
    The Compact Framework 3.5 component is available for Platform Builder !!!

    -> CE 6.0 R2 (January 2008 update)
    -> CE 5.0 (January 2008 update)


    5 Mar 2008

    News Windows From CF 3.5

    Voici une liste des nouveautés concernant les Windows Forms avec le CF3.5.
    Pour l’objet Control :

    • les polices ClearType sont prises en compte
    • la propriété BackColor est supportée en mode lecture seule (1)

    Il est dorénavant possible d’ajouter des Graphics aux contrôles suivant :

    • TabPage (2)
    • Panel
    • Splitter
    • PictureBox

    Pour les ComboBox, Les propriétés SelectionStart et SelectionLength sont maintenant prises en charge.
    Here are a list of the new imrpovements in the Compact Framework 3.5.
    For the Control object :

    • ClearType fonts are supported
    • the BackColor property is supported on read-only controls (1)

    Now, Users can now add graphics to these controls:

    • TabPage (2)
    • Panel
    • Splitter
    • PictureBox

    For the ComboBox, the SelectionStart and SelectionLength properties are now supported.

    3 Mar 2008

    DesktopCompatible CF3.5

    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 "Visual Inheritance is Currently Disabled". 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.
    With the CF2.0, the UserControl are supported, but it is possible you have the following error "Visual Inheritance is Currently Disabled" 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.



    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 :
    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:





    Pour contourner ce problème, il suffit d’ajouter l’assembly Microsoft.WindowsCE.Forms.dll du Compact Framework 3.5 au GAC :
    gacutil /i C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\Microsoft.WindowsCE.Forms.dll

    To get arround this problem, you need to add the assembly Microsoft.WindowsCE.Forms.dll Compact Framework 3.5 to the GAC :
    gacutil /i C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\Microsoft.WindowsCE.Forms.dll



    19 Feb 2008

    Managed CoreConnectivity Framework in VS2008

    Objectif
    Créer un lien entre le périphérique et Visual Studio 2008
    Connect the device to Visual Studio 2008

    Description
    • Basé sur le core connectivity framework natif existant.
    • Build on top of existing core connectivity framework.
    • Utilisé en interne par les outils MS (tels que Unit Testing, remote…)
    • Internally used by MS tools (e.g., unit testing)
    • Facilité accrue pour créer rapidement ses propres remote tools
    • Makes it easy to build your own remote tools

    Pour l’utiliser :
    To use:
    Ajouter une référence à Microsoft.Smartdevice.Connectivity.dll
    Add a reference to Microsoft.Smartdevice.Connectivity.dll

    Exemple de code :
    Code example:

    DatastoreManager dsmgrObj = new DatastoreManager(1033);
    //Get Collection of platforms entries present in Data store
    IEnumerable platformcollection = dsmgrObj.GetPlatforms();
    //Iterate through Collection of platforms
    foreach (Platform objplatform in platformcollection)
    {
    System.Console.WriteLine(objplatform.Name);
    if (objplatform.Name.Contains("Windows Mobile 6 Professional SDK"))
    {
    IEnumerable pdeviceCollection = objplatform.GetDevices();
    foreach (Device objdevice in pdeviceCollection)
    {
    System.Console.WriteLine("\t" + objdevice.Name);
    //Check if the device is an emulator
    if (objdevice.Name.Contains("Windows Mobile 6 Professional Emulator"))
    {
    m_objDevice = objdevice;
    m_objDevice.Connect();
    return;
    }
    }
    }


    // To get all running processes on the device
    m_objDevice.GetRunningProcesses()

    // Get the system info
    SystemInfo info = m_objDevice.GetSystemInfo();

    N'hésitez pas à tester et créer vos propres Remote Tools, c'est super pratique.
    Don't hesitate to test it and create your own Remote Tools, it is very usefull.

    18 Feb 2008

    Compact Framework version redirection

    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. (Article de CodePPC)

    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.

    Une des nouveautés du Compact Framework 3.5 est de pouvoir créer un seul fichier device.config 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.
    In the Compact Framework 3.5, you can create an only file called device.config and place it in the Windows folder to perform runtime redirection for all applications on the device.

    Pour que toutes les applications utilisent le CF 3.5, voici le fichier à créer :
    For example, to redirect all applications to run using CF 3.5, here is the file to create:


    13 Feb 2008

    Bonjour à tous,

    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.
    Une petite vidéo de la plènière en attendant :


    Video: Extraits de la plénière du mardi 12 février 2008
    Hi all,

    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 ;-))

    25 Jan 2008

    Online Webinar - Development of Drivers with Windows Embedded CE 6.0 R2


    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.
    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.

    Event Overview
    Date and Time: January 31, 2008 @ 10:00 AM - 11:00 AM CET

    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.

    Who Should Attend:

    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.

    Discover Windows Embedded CE R2 Features
    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.

    Demonstration

    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.

    Special NEW ZUNE Drawing

    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.

    24 Jan 2008

    A SDCard with GPS and µSD memory slot

    Une carte SD avec une puce GPS et un connecteur µSD, pratique pour votre PDA !
    An SDCard with a GPS receiver integrated and a µSD slot, very useful for your PDA !

    Jetez un oeil là-dessus : http://www.spectec.com.tw/sdg810.htm
    Check out this link : http://www.spectec.com.tw/sdg810.htm

    Debug without ActiveSync with VS2003 .Net

    To use the Smart Device Authentication Utility
    1. Open a new or saved Smart Device project in Visual Studio .NET.
    2. Run the Smart Device Authentication Utility on the device.
    To run the Smart Device Authentication Utility on the device
    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.
    b. Open the folder that corresponds to the CPU of your device.
    c. Copy the file SDAuthUtilDevice.exe to your device.
    d. Run SDAuthUtilDevice.exe on your device.
    e. Click Start.
    Note: There will be a pause while the workstation running Visual Studio .NET connects to the device via a TCP/IP connection.
    3. Run the Smart Device Authentication Utility on the computer running Visual Studio .NET.
    To run the Smart Device Authentication Utility on the computer
    a. On the Tools menu, click Smart Device Authentication Utility.
    b. In the Device IP address box, enter the IP address of the device.
    c. Click Set Up Device.
    4. Apply the new setting to Visual Studio as described in the following procedure.
    To apply the settings to Visual Studio
    a. On the Tools menu, click Options.
    b. Click Device Tools and then click Devices.
    c. In the Show devices for platform box, click the device that you want to connect to.
    d. Click Save As, type a new name in the box, and click OK.
    e. In the Transport box, click TCP Connect Transport.
    f. Click Configure.
    g. Click Use specific IP address, and enter the device's IP address.
    h. Click OK.
    You can now create, debug and deploy managed code applications for Windows CE .NET platforms using Visual Studio .NET 2003.

    Debug without ActiveSync with VS2005

    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\.
    • Clientshutdown.exe
    • ConmanClient2.exe
    • CMaccept.exe
    • eDbgTL.dll
    • TcpConnectionA.dll


    2. À l'invite de commandes sur le périphérique, exécutez conmanclient2.exe.
    3. Déterminez l'adresse IP du périphérique.

    1. Manually copy the following files down to the device
    • Clientshutdown.exe
    • ConmanClient2.exe
    • CMaccept.exe
    • eDbgTL.dll
    • TcpConnectionA.dll
      From the desktop folder: \Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400\, to \windows on device.

    2. Manually launch the conmanclient2.exe. On the device side, open the command prompt and run "Conmanclient2.exe"

    3. Set the correct IP address

    Pour préparer Visual Studio à la connexion
    1. Dans le menu Outils de Visual Studio, cliquez sur Options, sur Outils de périphérique, puis sur Périphériques.
    2. Sélectionnez Périphérique Windows CE, puis cliquez sur Propriétés.
    3. À droite de la zone Transport, cliquez sur Configurer.
    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.
    5. Fermez les boîtes de dialogue.
    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.
    On the desktop side,
    1. Open VS 2005Tools -> options -> device tools -> devices tools -> devices
    2. Choose Windows CE 5.0 device, click on “properties”.
    3. On the “Windows CE 5.0 device properties” dialog, click on “configure”.
    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.
    5. Click OK.
    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é)
    1. À l'invite de commandes sur le périphérique, exécutez cMaccept.exe.
    2. Dans un délai de trois minutes, connectez-vous au périphérique.
    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é.
    Maintenant, vous pouvez déployer et debugger des applications sur votre device CE.
    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)
    1. Run cMaccept.exe
    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.
    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.
    Pour intégrer ces outils à votre image WINCE, jetez un oeil sur cet article:
    To integrate this tools in your WINCE image, check out this article:
    http://nicolasbesson.blogspot.com/2008/02/smart-device-deployment-and-debugging.html

    13 Jan 2008

    Application Startup SignalStarted

    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.

    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.

    http://fabdecret.blogspot.com/2007/06/launch-application-at-startup.html
    http://fabdecret.blogspot.com/2007/06/registry-init-key-explanations.html

    Par exemple, vous avez deux applications à lancer au démarrage, et la deuxième est dépendante de la première: (toutes sont dépendantes du shell Windows).
    For example, you have two applications to launch at startup and the second one is dependent on the first one: (all are dependent on the Windows shell).

    Shell
    Launch50 : explorer.exe
    Depend50: 32 00

    Application 1
    Launch90 : appli1.exe

    Depend90: 32 00 (Shell dependency)
    Application 2
    Launch100 : appli2.exe

    Depend100: 32 00 5A 00 (Shell dependency and application 1 dependency)

    Dans l'application 1, quand vous voulez que la seconde application 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, l'application 2 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 l'application 1, appli2.exe qui en est dépendante ne sera jamais lancée.
    Pour des détails sur cette fonction : http://msdn2.microsoft.com/en-us/library/aa450898.aspx

    In the application 1, when you want the second application 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, Application 2 is launched, if an other application depends on this one, you call SignalStared again.
    If SignalStarted is not called in application
    1, appli2.exe that is dependent on its launch will never run.
    For details check out this:
    http://msdn2.microsoft.com/en-us/library/aa450898.aspx

    Concours Skin WIndows Mobile


    Pour tous ceux qui ont la fibre artistique, Microsoft France organise le concours Skin ton phone...

    3 Jan 2008

    source code

    Recherche de source code public?
    Research of public code source?
    http://www.google.com/codesearch?hl=fr

    Facebook Developer Toolkit

    Facebook est un site Web de réseau social destiné à rassembler les personnes.
    Facebook is a social utility that connects you with the people around you.


    Le Kit de Développement Facebook est disponible sur CodePlex, les sources partagées de Microsoft à l'adresse suivante http://www.codeplex.com/FacebookToolkit, ce kit inclut Facebook.Compact destiné au Compact Framework, le tout agrémenté d'exemples.

    The Facebook Development Toolkit is available on CodePlex, Microsoft’s Shared Source hosting site, at http://www.codeplex.com/FacebookToolkit, it includes Facebook.Compact library for Compact Framework with examples.

    TechDays 2008 CF3.5

    Je présenterai une session sur les nouveautés du CF3.5 au TechDays 2008, en français, venez nombreux...
    I will present a session on the CF3.5 in the TechDays 2008 in Paris it will be in French only...

    2 Jan 2008

    Happy new year 2008 - Bonne année 2008

    Je vous souhaite une bonne et heureuse année 2008, qu'elle vous apporte la santé, la joie, l'amour... !

    I wish an Happy New Year 2008 It brings you health, happiness, love... !