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

MFC Discussion :

lancement d'une application dans un programme


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 17
    Par d�faut lancement d'une application dans un programme
    Bonjour,

    J'essaie actuellement d'integrer un programme en GAMS (autre langage, sur un autre logiciel) dans mon programme C++. Je reussis a ouvrir le logiciel automatiquement, et meme a ouvrir le bon fichier . Par contre, je reussis pas a demander au programme de se lancer automatiquement .
    Quelqu'un a t il deja tente la meme chose avec Gams? (ou avec un autre logiciel, ca doit pas etre tres different) Voici comment j'appelle ce que je veux executer:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    	gams="c:\\progra~1\\GAMS21.7\\gamside.exe h:\\gamside.ini h:\\gamsdir\\try02.gms lo2";
    	system(gams);
    j'obtiens le bon programme, le bon fichier, mais il ne s'execute pas! Je ne comprends pas...
    Une autre idee m'est passee par la tete pour resoudre ce probleme: ne peut on pas faire en sorte que le programme C++ appuie virtuellement sur une touche? Car dans ce cas, il suffirait au programme d'appuyer sur F9 pour faire "run".

  2. #2
    nac
    nac est d�connect�
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    33
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 33
    Par d�faut
    et system ("start "+gams+"") ?

  3. #3
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    il vaut mieux utiliser shellexecute que system.
    http://c.developpez.com/faq/vc/?page...unRegistredApp
    http://c.developpez.com/faq/vc/?page=Registry#RunWord
    et voir les differents post sur le sujet sur le forum.

  4. #4
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 17
    Par d�faut
    J'ai essaye system("start" "gams"); mais ca n'a pas eu l'air de marcher... Donc j'ai lu les tutoriaux, et j'ai tente de les mettre en application. Et ca n'a pas marche non plus... Il n'y a pas d'erreur lors de la compilation, mais rien ne s'ouvre... J'ai peut etre fait une erreur en adaptant le code, mais je ne sais as ou...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    		ShellExecute(
    		AfxGetMainWnd()->m_hWnd, 
    		"open", 
    		gams, 
    		NULL, 
    		NULL, 
    		SW_SHOWNORMAL);
    voici le message qui arrive au moment ou l'application est sensee s'ouvrir :
    layout.exe has encountered a problem and needs to close. We are sorry for the inconvenience.
    J'en profite pour me poser la question suivante : est ce que cette commande me permettra d'executer mon application en GAMS? Car bien que le nom de la fonction soit evocateur, le tutoriel parle d'ouvrir et non d'executer...

  5. #5
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 17
    Par d�faut
    Il semble que le probleme soit du au
    AfxGetMainWnd()->m_hWnd
    J'ai essaye de changer ca en "Handle" comme je l'ai vu dans certains tutoriaux , mais ca ne marche pas non plus. Maintenant, j'ai une erreur lors de la compilation :
    H:\c++\layout.cpp(112) : error C2065: 'Handle' : undeclared identifier
    (J'ai meme rajoute un "#include ShellApi.h")

  6. #6
    Membre confirm� Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par d�faut
    handle c'est en MAJ qu'il faut l'�crir je crois

  7. #7
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    quelle est la nature de ton application ?
    console ? ,graphic win32,MFC ?
    tu peux aussi mettre le premier argument a null de shellexecute.
    tu peux aussi utiliser CreateProcess
    http://c.developpez.com/faq/vc/?page...ead#ProcessNew

  8. #8
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 17
    Par d�faut
    Mon application est un programme de programmation lineaire ecrit sur GAMS.
    J'ai essay� de mettre HANDLE en majuscules, mais j'ai un autre message d'erreur :
    H:\c++\layout.cpp(112) : error C2275: 'HANDLE' : illegal use of this type as an expression
    Je commence a me taper la tete contre les murs... Shellexecute avait l'air si simple a utiliser...

  9. #9
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    17
    D�tails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 17
    Par d�faut
    Ca y est, je sais pourquoi ca ne marchait pas, je dois invoquer plusieurs url en meme temps pour que ca marche, et le shellexecute ne veut pas faire ca... J'ai donc trouv� une parade, mais je me rends compte maintenant que si ca ouvre effectivement le programme, ca ne l'execute pas... Il faudrait que l'ordinateur decide en plus d'appuyer sur "run"...

Discussions similaires

  1. R�ponses: 16
    Dernier message: 24/10/2013, 11h00
  2. R�ponses: 2
    Dernier message: 31/05/2013, 17h12
  3. Remplir un formulaire dans une application via un programme JAVA
    Par konkzor dans le forum G�n�ral Java
    R�ponses: 7
    Dernier message: 11/07/2012, 15h14
  4. R�ponses: 2
    Dernier message: 05/12/2003, 11h37
  5. [] Utiliser AVI d'une DLL dans mon programme
    Par seb.49 dans le forum VB 6 et ant�rieur
    R�ponses: 5
    Dernier message: 02/05/2003, 14h52

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