IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++/CLI Discussion :

Petit probleme de debutant


Sujet :

C++/CLI

  1. #1
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Points : 172
    Points
    172
    Par défaut Petit probleme de debutant
    Bonjours, je suis en train de suivre ce petit guide

    Et je me retrouve avec deja des problemes.

    Ma config :
    - Win7
    - Visual Studio Express 2010 C++


    Alors je creer un nouveau projet "Application Console Win32".

    Et je cole ce code dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include "StdAfx.h"
    #include <windows.h>
     
     int main(int argc, char * argv[])
    {
         HWND hMPlayer = FindWindow("Media Player 2",NULL);
         SetForegroundWindow(hMPlayer);
         Sleep(100);
         PostMessage(hMPlayer,WM_KEYDOWN,VK_SPACE,0);
         Sleep(5000);
         PostMessage(hMPlayer,WM_KEYUP,VK_SPACE,0);
         return 0;
    }
    Et le message d'erreur est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    1>------ Début de la génération*: Projet*: test, Configuration*: Debug Win32 ------
    1>  test.cpp
    1>c:\users\airrivals\documents\visual studio 2010\projects\test\test\test.cpp(6): error C2664: 'FindWindowW'*: impossible de convertir le paramètre 1 de 'const char [15]' en 'LPCWSTR'
    1>          Les types pointés n'ont aucun rapport entre eux*; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
    ========== Génération*: 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
    Je tiens a preciser que l'installation de VS 2010 est d'origine, je sais pas si il faut rajouter des chose ou configurer...

    Voila en esperant recevoir de l'aide.

    Merci

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Salut,

    Il faut lire ce que dit le compilo dans le message d'erreur.

    Il faut changer
    const char [15]' en 'LPCWSTR'
    C'est à dire ne pas fournir un tableau de 15 char mais une chaine de type 'LPCWSTR'' à 'FindWindowW'

    Il y a pleins d'exemples sur google avec les mots clé "conversion char* lpcwstr c++"
    Le problème a déjà été posé sur ce site : ici

    Définitions des différents types

    Il semble que la fonction MultiByteToWideChar soit là pour toi

  3. #3
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Points : 172
    Points
    172
    Par défaut
    Merci beaucoup.

    C'est quoi le tuto ?

    Du code obsolete ?

    Dans tous ce que tu m'as donné je dois faire quoi ?

  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Ce qui est dit ici à l'air pas mal, mais mon compilo plante sur les deux solutions

    Essaye ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HWND hMPlayer = FindWindow(L"Media Player 2",NULL);
    ou ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HWND hMPlayer = FindWindow(reinterpret_cast<LPCWSTR>("Media Player 2"),NULL);
    Alors?

    Moi ça permet de compiler mais ça plante avec le linker ( LNK2028 et LNK2019 )

  5. #5
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Points : 172
    Points
    172
    Par défaut
    Alors pour le soucis, fallait juste changer l'encodage des fichiers generer, qui par defaut était en UNICODE.

    Voila, j'espere que sa en aidera d'autre.

    Tes 2 solution ne marche pas chez moi non plus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DEBUTANT] Petit probleme
    Par ChRom dans le forum Débuter
    Réponses: 10
    Dernier message: 16/01/2007, 15h17
  2. [DEBUTANT] petit probleme de requete sql
    Par eclipse012 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/12/2006, 15h10
  3. [Débutant] Petit problème pour calcul de somme
    Par kriskikout dans le forum Ada
    Réponses: 4
    Dernier message: 04/11/2006, 06h47
  4. petit probleme de debutant
    Par etudiant72 dans le forum Débuter
    Réponses: 5
    Dernier message: 10/03/2006, 21h20
  5. Probleme avec un petit code (je debute)
    Par cladou dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 10/01/2006, 18h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo