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

Intégrer un exe externe dans un form ou Tframe ?


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Par défaut Intégrer un exe externe dans un form ou Tframe ?
    Bonjour tout le monde,
    j'ai un petit programme de départ réalisé depuis plusieurs anées sous un bon vieux Borland Tubo C++, mais une partie demandait de laner le navigateur.
    J'aimerai intégrer le navigateur dans mon appli, comme si on la viualisait comme on fait avec les iframe en HTML.
    J'ai trouvé ça : http://www.codeproject.com/Articles/...inForm-project mais je ne parviens pas à l reproduire ce tout petit script C# en C++.
    Et pareil avec celui-là qui semble faie l'affaire : http://stackoverflow.com/questions/2...-mozembed-like

    Comment forcer mon ShellExecuteEx pour qu'il s'exécute dans mon form ???

    j'ai vu pas mal de questions là-dessus, mais je ne parviens pas à intégrer ça dans mon appli !

    HHELLLPPP !!!!
    Merci mille fois.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur multiplateformes
    Inscrit en
    Mars 2003
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur multiplateformes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 277
    Par défaut
    Citation Envoyé par babas44 Voir le message
    Bonjour tout le monde,
    j'ai un petit programme de départ réalisé depuis plusieurs anées sous un bon vieux Borland Tubo C++, mais une partie demandait de laner le navigateur.
    J'aimerai intégrer le navigateur dans mon appli, comme si on la viualisait comme on fait avec les iframe en HTML.
    J'ai trouvé ça : http://www.codeproject.com/Articles/...inForm-project mais je ne parviens pas à l reproduire ce tout petit script C# en C++.
    Et pareil avec celui-là qui semble faie l'affaire : http://stackoverflow.com/questions/2...-mozembed-like

    Comment forcer mon ShellExecuteEx pour qu'il s'exécute dans mon form ???

    j'ai vu pas mal de questions là-dessus, mais je ne parviens pas à intégrer ça dans mon appli !

    HHELLLPPP !!!!
    Merci mille fois.

    Bonjour,

    A priori TWebBrowser devrait solutionner votre problème....

  3. #3
    Membre averti
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Par défaut
    Merci, mais hélas non car il ne lance que Internet Explorer, je me suis remis à travailler sur une vieille version de Borland malheureusement, celle sur laquelle j'avais commencé mes softs à l'époque, sinon il faut que je réécrive tout....
    Pourtant avec le SerParent j'ai vu que certains en Delphi y étaient parvenus.

  4. #4
    Membre averti
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Par défaut
    Nouvelle tentative avec CreateProcess :
    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
     
    STARTUPINFO StartInfo; // name structure
    PROCESS_INFORMATION ProcInfo; // name structure
    memset(&ProcInfo, 0, sizeof(ProcInfo)); // Set up memory block
    memset(&StartInfo, 0 , sizeof(StartInfo)); // Set up memory block
    StartInfo.cb = sizeof(StartInfo); // Set structure size
    int res = CreateProcess(NULL, ligne_cmd.c_str() , NULL, NULL, NULL, DETACHED_PROCESS, NULL,ExtractFilePath(Application->ExeName).c_str(), &StartInfo, &ProcInfo); // starts MyApp
    if (res)
    	WaitForInputIdle(ProcInfo.hThread, INFINITE);
    // Supprime la barre de titre
    //SetWindowLong(StartInfo, GWL_STYLE, GetWindowLong(StartInfo, GWL_STYLE));// And Not WS_CAPTION);
    //SetWindowPos(StartInfo, 0, 0, 0, 0, 0, SWP_FRAMECHANGED);// Or SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER);
    // Assigne et maximise le prog externe au conteneur (un panel ici)
    SetParent(Panel1);
    ShowWindow(Panel1, SW_MAXIMIZE);
    Sauf que le SetParent dans un Panel ne semble pas fonctionner...mon navigateur K-meleon est bien lancé, dans une fenêtre extérieure et pas dans mon Form->Panel, mais j'ai un magniique débordement de pile.

  5. #5
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    Salut il semblerait que ton appel à createProcess est incorrect
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CreateProcess(NULL, ligne_cmd.c_str() , NULL, NULL, NULL, DETACHED_PROCESS, NULL,ExtractFilePath(Application->ExeName).c_str(), &StartInfo, &ProcInfo); // starts MyApp
    j'essaierais pour ma part
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CreateProcess(NULL, ligne_cmd.c_str() , NULL, NULL, true, DETACHED_PROCESS, NULL,ExtractFilePath(Application->ExeName).c_str(), &StartInfo, &ProcInfo); // starts MyApp
    cdlt
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  6. #6
    Membre averti
    Inscrit en
    Mai 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 32
    Par défaut
    Merci mille fois de venir encore une fois à mon aide !!!

    J'ai essayé ta modif : mon form ne s'affiche pas, seul se lance K-Meleon. Puis après qulques essais j'ai encore du stack overflow....

    J'ai juste créé un form avec un panel puis mis ça :

    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    {
    AnsiString ligne_cmd = "K-Meleon\\k-meleon.exe";
    AnsiString ligne_cmd_arg = ExtractFilePath(Application->ExeName) + "wwwBlocklyArduino\\index.html";

    STARTUPINFO StartInfo; // name structure
    PROCESS_INFORMATION ProcInfo; // name structure
    memset(&ProcInfo, 0, sizeof(ProcInfo)); // Set up memory block
    memset(&StartInfo, 0 , sizeof(StartInfo)); // Set up memory block
    StartInfo.cb = sizeof(StartInfo); // Set structure size
    int res = CreateProcess(NULL, ligne_cmd.c_str() , NULL, NULL, true, DETACHED_PROCESS, NULL,ExtractFilePath(Application->ExeName).c_str(), &StartInfo, &ProcInfo); // starts MyApp
    if (res) WaitForInputIdle(ProcInfo.hThread, INFINITE);

    // Supprime la barre de titre
    SetWindowLong(ProcInfo, GWL_STYLE, GetWindowLong(ProcInfo, GWL_STYLE));
    SetWindowPos(ProcInfo, 0, 0, 0, 0, 0, SWP_FRAMECHANGED); // Or SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER);
    // Assigne et maximise le prog externe au conteneur (un panel ici)
    SetParent(Panel1);
    ShowWindow(Panel1, SW_MAXIMIZE);
    }
    Je pensais que c'était tout simple....
    Merci de m'indiquer des pistes !

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

Discussions similaires

  1. Intégrer un programme externe dans une application java
    Par NiKoMinus dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 30/11/2008, 19h29
  2. Réponses: 4
    Dernier message: 14/02/2008, 22h11
  3. Intégrer l'explorateur Windows dans ma Form
    Par Crazyfaboo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/04/2007, 23h22
  4. Intégrer un visualiseur WMP dans une form
    Par snoopo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/04/2007, 18h53
  5. [VB.NET] Comment lancer une application externe dans ma Form
    Par afdmats dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/10/2006, 15h27

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