none
Lancer un process 64bits depuis une appli 32bits

    Discussion générale

  • Bonjour,

    Je souhaiterais lancer AutoCad 64bits depuis une appli32bits.

    Dans cette configuration, la fonction

    System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) retourne

    C:\Program Files (x86)

    au lieu de

    C:\Program Files\

    Y a -t-il une solution?

    Voici le code complet

    string l_RepProgramm = System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
    string l_RepAutoDesk = System.IO.Path.Combine(l_RepProgramm, "Autodesk");
    string l_RepAutoCad = System.IO.Path.Combine(l_RepAutoDesk, "AutoCAD 2013");
    System.Diagnostics.Process l_ExeScript = new System.Diagnostics.Process();
    System.Diagnostics.ProcessStartInfo l_StartInfo = new System.Diagnostics.ProcessStartInfo();
    l_StartInfo.RedirectStandardOutput = true;
    l_StartInfo.UseShellExecute = false;
    l_StartInfo.CreateNoWindow = true;
    l_StartInfo.FileName = System.IO.Path.Combine(l_RepAutoCad, "accoreconsole.exe");
    if (System.IO.File.Exists(l_StartInfo.FileName) == false)
      return;
     if (System.IO.File.Exists(p_NomDWG) == false)
       return;

    l_StartInfo.Arguments = string.Format("/i \"{0}\" /s \"C:\\Rep_MEP\\ajoutMarQW.scr\" /l fr-FR", p_NomDWG);           
    l_ExeScript.StartInfo = l_StartInfo;
    l_ExeScript.Start();
    l_ExeScript.WaitForExit();

    Cordialement

    Gérard


    vendredi 3 février 2017 12:57

Toutes les réponses

  • Par exemple :

     
    if (Environment.Is64BitOperatingSystem)
    {                    
         string sPath64 = Environment.ExpandEnvironmentVariables("%ProgramW6432%");
    }

    • Modifié Castorix31 vendredi 3 février 2017 18:00
    vendredi 3 février 2017 17:54