Új hozzászólás Aktív témák

  • kw3v865

    senior tag

    Sziasztok!

    C#-ban egy tök egyszerű Windowsos alkalmazáról van szó (egyelőre), melyben egy gombnyomásra futtat egy külső alkalmazást.
    A problémám a következő: a futtatni kívánt alkalmazás elindul, de azonnal be is záródik az ablaka. A környezeti változókban benne van, tehát ha nyitok egy CMD-t, és onnan indítom, akkor minden rendben megy.

    A konzolban ezt írja:
    System.Diagnostics.ProcessStartInfo
    ID: 5716 - Name: ogr2ogr

    Tehát elvileg elindul, sőt egy pillanatra fel is villan, de nekem ez nem elég. Rendesen meg kellene nyílnia az ablaknak, hogy csak a felhasználó zárhassa be. Ha a p.FileName-et átírom notepad.exe-re, akkor tökéletesen működik, csak az ilyen parancssoros alkalmazásokkal van gond..

    Szerintetek hogyan lehetne ezt megvalósítani, hogy úgy viselkedjen, mintha a parancssorból indítottam volna el?

    Így néz ki a kódom jelenleg (az egyszerűség kedvéért csak a lényeg):
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
        }
        [DllImport("user32.dll")]
        static extern IntPtr SetParent(IntPtr hwc, IntPtr hwp);
        private void button1_Click(object sender, EventArgs e)
        {
          Process p = new Process();
          try
          {
          p.StartInfo.FileName = "ogr2ogr";

      p.Start();
           
            Console.WriteLine(p.StartInfo);
            Console.WriteLine("ID: {0} - Name: {1}",p.Id,p.ProcessName);
            p.WaitForExit();
          }
          catch(Exception ex)
          {
            Console.WriteLine("Error"+ex.Message);
          }
        }
      }

Új hozzászólás Aktív témák