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

Windows Discussion :

Problème avec CreateProcessW en mode mixte non-managé/managé


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 82
    Points : 89
    Points
    89
    Par défaut Problème avec CreateProcessW en mode mixte non-managé/managé
    Bonjour,

    J'ai besoin d'appeler un programme écrit en managé à partir d'un programme écrit en mode "normal" (selon mon point du vue !).
    Contrairement à e que j'ai lu en cherchant la solution la fonction d'entrée dans le programme appelé est :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    int main(array<System::String ^> ^args)

    ce qui semble signifier l'attente d'un tableau de "string".

    J’utilise ceci dans le programme appelant (écrit en MBSC et pas en 'UNICODE')

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	string argS[2] = { tpData, "pour voir"};                 // 'tpData' contient des infos à transmettre à l'EXE
    	retour = CreateProcessW(L"visio.exe", (LPWSTR)&argS, NUL, NUL, FAUX, 0/*DEBUG_PROCESS*/, NUL, NUL, &sInfo, &sProcess);

    Le programme "visio.exe" appelé se lance correctement, mais impossible de récupérer les arguments de la ligne de commande, coté 'visio.exe' 'args' est désespérément vide.

    J'ai tenté ceci :

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    	retour = CreateProcessW(L"visio.exe", (LPWSTR)&tpData, NUL, NUL, FAUX, 0/*DEBUG_PROCESS*/, NUL, NUL, &sInfo, &sProcess);

    Résultat identique.


    Je suis sur que la solution est simple et que je n 'ai pas vu quelque chose d"évident (l'age ?), donc si quelqu'un à une idée je suis preneur.

    Bon courage pour le confinement.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    À quoi t'attends-tu, à caster le pointeur? Tu passes des vessies à une fonction qui attend des lanternes.

    Utilise la fonction MultiByteToWideChar() pour convertir le contenu de ta string en un tableau de WCHAR, puis fais le coup du tableau de pointeur.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 82
    Points : 89
    Points
    89
    Par défaut pas certain
    Merci de la réponse, bien que l'agressivité qu'elle contient soit inutile.

    Je n'ai pas l'impression que 'MultiByteToWideChar' produise autre chose que le L"constante", mais je vais essayer.


    Puisque vous semblez trouver des solutions simples, sans doute guidée par l'expérience, voici un autre soucis que je rencontre avec ".NET" dont je considère qu'il s'agit d'une branlette de pseudo-intellos ; pour ma part si je pouvais je ne programmerai qu'en assembleur, donc vous voyez nous sommes loin des "assembly" !

    J'ai ouvert un autre fil pour soumettre le problème.

Discussions similaires

  1. Problème avec html-helper-mode pour emacs
    Par Vyrob dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 17/01/2011, 22h17
  2. [XL-2003] Problème avec des plages de cellules non rectangulaires
    Par rodival dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 24/08/2009, 15h49
  3. probléme avec une réponse oui ou non
    Par zyriuse dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 15/04/2009, 17h17
  4. Problème avec "Date()" en mode runtime
    Par bwalbourg dans le forum Runtime
    Réponses: 1
    Dernier message: 25/01/2006, 10h51

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