Как запустить (.exe) файл в C ++, используя приложение формы окна? - PullRequest
1 голос
/ 06 февраля 2012

, когда пользователь нажимает кнопку «Предварительные настройки», например, запускает другой (.exe) файл, то же самое касается кнопки «Хлебная доска».

Это код, который я использовал

namespace RC_lab {
    using namespace System;
    using namespace System::ComponentMode1;         
    using namespace System::Windows::Forms;
    using namespace System::Data;
    using namespace System::Drawing;
    using namespace System::Diagnostics;

что касается кнопки, то она похожа на

Process::Start("PreSets.exe");

, но выдает ошибку, этот код работает для

Process::Start("notepad.exe");
Process::Start("chrome.exe");

, она будет запускаться корректно, но в моем случаея получаю:

Win32Exception был unhandeld Системе не удается найти указанный файл.

Я убедился, что файл существует, даже поместив папку в программные файлы в C-partation.

Ответы [ 4 ]

3 голосов
/ 06 февраля 2012
Process::Start("C:\\application_directory\\PreSets.exe");

Вы также должны указать местоположение файла.

1 голос
/ 25 марта 2012

просто добавьте

  1. using namespace System::Diagnostics; в заданном пространстве имен по умолчанию.

  2. и добавьте Process::Start("chrome.exe"); в кнопку.

0 голосов
/ 14 апреля 2015

Лучший способ - поменять все "\" на "/". Я понял это, когда увидел предупреждения моего проекта. Например, c: Desktop \ ex.exe для C: /Desktop/ex.exe.

0 голосов
/ 02 апреля 2013

Вы также можете запустить исполняемый файл или любой другой файл с помощью OpenFileDialog. Смотрите код ниже

     // Displays an OpenFileDialog so the user can select a Cursor.
  Stream^ myStream;
      OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;


      openFileDialog1->FilterIndex = 2;
      openFileDialog1->RestoreDirectory = true;

      if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
      {
         if ( (myStream = openFileDialog1->OpenFile()) != nullptr )
         {

            String^ strfilename = openFileDialog1->InitialDirectory + openFileDialog1->FileName;


              Process::Start(strfilename);


            myStream->Close();
         }
      }
...