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

Dev c++ et shellapi.h.


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Par défaut Dev c++ et shellapi.h.
    Bonjour,

    Je tente désespéremment d'utiliser la commande shellExcecute dans un programme en C. Mais ça compile pas sur un exemple tout bête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <stdio.h>
    #include <stdlib.h>
    #include <shellapi.h>
     
    int main(int argc, char *argv[])
    {
        ShellExecute(0,                // Handle d'une fenêtre
        "open",                      // Opération à effectuer
        "c:\\windows\\notepad.exe",    // Application à lancer ou document à ouvrir
        "",                          // Arguments de la ligne de commande
        "",                          // Répertoire par défaut
        "SW_SHOW");              // Options d'affichage
      system("PAUSE");    
      return 0;
    }
    Ca me sort une liste d'erreur immense dont voici une partie:

    C:/Dev-Cpp/include/shellapi.h:127: error: syntax error before "FILEOP_FLAGS"
    C:/Dev-Cpp/include/shellapi.h:128: error: syntax error before "PRINTEROP_FLAGS"
    In file included from appel.c:3:
    C:/Dev-Cpp/include/shellapi.h:131: error: syntax error before "DWORD"
    C:/Dev-Cpp/include/shellapi.h:133: error: syntax error before "uCallbackMessage"
    C:/Dev-Cpp/include/shellapi.h:134: error: syntax error before "uEdge"
    C:/Dev-Cpp/include/shellapi.h:135: error: syntax error before "rc"
    C:/Dev-Cpp/include/shellapi.h:136: error: syntax error before "lParam"
    C:/Dev-Cpp/include/shellapi.h:141: error: syntax error before "DWORD"
    C:/Dev-Cpp/include/shellapi.h:143: error: syntax error before "uID"
    C:/Dev-Cpp/include/shellapi.h:144: error: syntax error before "uFlags"
    C:/Dev-Cpp/include/shellapi.h:145: error: syntax error before "uCallbackMessage"
    C:/Dev-Cpp/include/shellapi.h:146: error: syntax error before "hIcon"
    C:/Dev-Cpp/include/shellapi.h:159: error: syntax error before "szTip"
    C:/Dev-Cpp/include/shellapi.h:164: error: syntax error before '}' token

    Pourtant j'ai bien le fichier shellapi.h et j'ai bien configuré les répertoires dans devc++... D'où vient le problème??

    Merci.

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par kmitz
    Je tente désespéremment d'utiliser la commande shellExcecute dans un programme en C. Mais ça compile pas sur un exemple tout bête:

    Ca me sort une liste d'erreur immense dont voici une partie:
    M'enfin qui t'a dis d'inclure <shellapi.h> ? Sous Windows, c'est <windows.h>. Point.
    Ceci compile et fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
     
    int main(int argc, char *argv[])
    {
    int main()
    {
       ShellExecute(0                  // Handle d'une fenêtre
                    , "open"           // Opération à effectuer
                    , "c:\\windows\\notepad.exe"      // Application à lancer ou document à ouvrir
                    , ""               // Arguments de la ligne de commande
                    , ""               // Répertoire par défaut
                    , SW_SHOW);        // Options d'affichage
       system("pause"); /* DEV-C++... */
       return 0;
    }

  3. #3
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Essayes d'inclure windows.h :
    Citation Envoyé par kmitz
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    #include <shellapi.h>
    
    int main(int argc, char *argv[])
    {
         [...]
    }

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 26
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    M'enfin qui t'a dis d'inclure <shellapi.h> ? Sous Windows, c'est <windows.h>. Point.
    Ceci compile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
     
    int main(int argc, char *argv[])
    {
       ShellExecute(0,                 // Handle d'une fenêtre
                    "open",                       // Opération à effectuer
                    "c:\\windows\\notepad.exe",     // Application à lancer ou document à ouvrir
                    "",                           // Arguments de la ligne de commande
                    "",                           // Répertoire par défaut
                    "SW_SHOW");              // Options d'affichage
       system("PAUSE");
       return 0;
    }
    En fait dans toutes mes recherches je trouvais seulement la façon de faire pour c++ builder. Tape "ShellApi.h" dans le moteur de recherche de dvpez.com, tu verras sur quoi je suis tombé.

    En tous cas merci, maintenant ça marche
    Bonne soirée.

  5. #5
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par kmitz
    En fait dans toutes mes recherches je trouvais seulement la façon de faire pour c++ builder. Tape "ShellApi.h" dans le moteur de recherche de dvpez.com, tu verras sur quoi je suis tombé.
    La référence c'est MSDN...
    En tous cas merci, maintenant ça marche
    Enfin, il y a encore un bug, mais je l'ai corrigé au-dessus...

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

Discussions similaires

  1. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    Réponses: 5
    Dernier message: 01/01/2003, 13h37
  2. Couleur sous DEV C++ ou Turbo C ++
    Par bootix dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 19/12/2002, 09h28
  3. [GTK]PB Librairie GTK+ sous dev-c++
    Par wozzy dans le forum Dev-C++
    Réponses: 15
    Dernier message: 05/11/2002, 14h55
  4. Dev-C++
    Par Anonymous dans le forum Dev-C++
    Réponses: 16
    Dernier message: 21/09/2002, 13h06
  5. [DEV-C++]#import de fichier .tlb
    Par pdl dans le forum Dev-C++
    Réponses: 6
    Dernier message: 19/07/2002, 22h46

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