Accueil > Forum > > > > Compiler avec cl et visual studio
Compiler avec cl et visual studio
samedi 4 juin 2011 à 22:51:43 |
Compiler avec cl et visual studio

bourineur
|
Bonjour, cela fait à peine quelques mois que j'ai commencé la programmation, et je me retrouve face à un problème en compilant sous windows avec microsoft visual studio.
Voila mon code :
#include <Windows.h>
void main () {
HINSTANCE error;
error=ShellExecute(NULL,(LPCWSTR)"open",(LPCWSTR)"c:\\prog\\PRog.exe",NULL,(LPCWSTR)"c:\\prog\",SW_SHOWNORMAL};
if (error < 32) {
printf("%d\n",error);
}
}
Donc en le compilant avec la commande "cl main.c", le programme fonctionne correctement (lance prog.exe), mais en le compilant avec un projet visual studio il m'affiche le nombre 2, qui correspond au chemin du fichier non trouvé.
Je ne m'explique pas d'où viens le problème.
Si vous avez une solution, merci d'avance.
|
|
dimanche 5 juin 2011 à 15:08:02 |
Re : Compiler avec cl et visual studio
|
lundi 6 juin 2011 à 00:38:33 |
Re : Compiler avec cl et visual studio

bourineur
|
Réponse acceptée !
A force de chercher, j'ai fini par trouver la solution au hasard, c'est en faite la fonction ShellExecuteA que je dois utiliser (ainsi), car la fonction ShellExecute est réservé pour l’Unicode, qui est activé par défaut dans visual studio.
La commande correcte est donc :
ShellExecuteA(NULL,(LPCSTR)"open",(LPCSTR)"c:\\prog\\PRog.exe",NULL,(LPCSTR)"c:\\prog\\",SW_SHOWNORMAL};
Pour te répondre patatalo :
LPCWSTR correspond à const wchar_t *LPCWSTR (Unicode 16 bits) et LPCSTR correspond à __nullterminated const char *LPCSTR (ainsi 8 bits)
Donc je suis obligé de spécifié entre parenthèse les type pour avoir la conversion.
Au passage, __nullterminated indique que le dernier élément d'une chaine, ou d'un tableau pointe vers un pointeur contenant 0.
Donc si je met directement du char, ça ne marche pas.
|
|
lundi 6 juin 2011 à 00:44:55 |
Re : Compiler avec cl et visual studio

bourineur
|
Je n'avais pas lu toutes ta question patatalo :
Donc comment je déclare mes variables ?
Et ben j'en fais pas ! Je trouve qu'il n'est pas nécessaire de déclarer des char que je ne vais utiliser qu'une seule fois. Autant directement mettre la chaine de caractère tel quel.
J'aurais pu faire des variable du type :
LPCSTR toto = (LPCSTR) "c:\\prog\\PRog.exe";
Mais je pense que c'est inutile.
Merci à tous. Bonne journée.
|
|
lundi 6 juin 2011 à 02:42:11 |
Re : Compiler avec cl et visual studio
|
lundi 6 juin 2011 à 02:58:47 |
Re : Compiler avec cl et visual studio
|
lundi 6 juin 2011 à 09:31:39 |
Re : Compiler avec cl et visual studio

BruNews
|
ShellExecute n'est réservé à rien du tout puisqu'elle n'existe pas.
C'est l'option de compil unicode ou ansi qui détermine si ShellExecute est #define de ShellExecuteA ou ShellExecuteW.
Il en va ainsi de toutes les fonctions API qui ont des parametres chaine de caractères.
ciao...
BruNews, MVP VC++
|
|
dimanche 19 juin 2011 à 11:37:57 |
Re : Compiler avec cl et visual studio

rt15
|
Salut,
patatalo a écritLPCSTR ascii = "ma chaine";
LPCWSTR unicode = (LPCWSTR) "m\0a\0 \0c\0h\0a\0i\0n\0e\0";
Plus simple :
Code C/C++ : LPCSTR ascii = "ma chaine";
LPCWSTR unicode = L"ma chaine";
|
|
Cette discussion est classée dans : visual, prog, error, studio, cl
Répondre à ce message
Sujets en rapport avec ce message
Erreur à la compilation dans visual studio C++ [ par elo29 ]
Bonjour, J'ai programmer un tout petit code pour convertir une image jpeg en bmp et voici les erreurs que j'ai à la compilation : LINK : warnin
error avec visual studio [ par ja92 ]
Bonjour , alors avec cette ligne la : int ZMD = (int) pow(2,ZM); j'obtient cette erreur la : Erreur 2 error C2668: 'pow' : appel ambigu à une
Compatibilité de DLL visual studio 2003/2008 [ par nobeleusis ]
Bonjour, J'ai une question à poser à propos de l'application sur laquelle je travaille en ce moment. Le problème est qu'elle ne s'éxecute pas sur des
Qt, windows mobile et visual studio 2008 [ par dinosormp ]
J'ai intégré et configuré Qt(open source)et sous visual studio 2008 professionnel pour créer un projet qui a pour cible Windows Mobile, mais au moment
URGENT!!Lire un fichier sur Visual Studio C++ [ par ielalami ]
Bonjour, J'utilse Visual Studio C++ 2008 Express avec Qt.Je veux afficher sur mon interface les données récupérées sur un fichier texte.J'ai essayé p
probleme d'executer un programme en visual studio c ++ [ par sousoi ]
bonjour, j'ai telecherger un projet visaul et j'essais de compiler ou executer ce projet mais malheureusement ce projet ne contient pas le fichier .ds
FICHIER [ par zell61 ]
slt tout le monde j aurai deux petite question a poser :-) enfait j ai fait mon code pour supprimer un client dans la liste mais quand je debogue il
problème de chargement des classes [ par amine390 ]
salut tous le monde, je suis un débutant en c,j'ai réussi d'installer Visual studio 6 et j'ai lancer une application hello world #include "stdafx.h" i
Visual studio c++ lancer ressource [ par PriMe2302 ]
bonjour, J'ai dans mon projet un fichier exécutable en ressource (une application console) , je voudrais savoir comment le lancer, comment détecter l
Problème de compilation sous visual studio 2008 [ par chakiraziza ]
Bonjour, Voici mon problème, j'ai un projet (Visual studio 2008) qui fonctionnait il y a quelque mois et j'ai voulu le retester ajd. Malheureusement
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|