Как запустить (.exe) файл в C++, используя приложение формы окна?
Когда пользователь нажимает кнопку "Предварительные настройки", например, запускает другой файл (.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 is unhandeld Системе не удается найти указанный файл.
я удостоверился, что файл существует, даже поместил папку в программных файлах в C-разделе.
4 ответа
Process::Start("C:\\application_directory\\PreSets.exe");
Вы также должны указать местоположение файла.
Просто добавь
using namespace System::Diagnostics;
в заданном пространстве имен по умолчанию.и добавить
Process::Start("chrome.exe");
в кнопку.
Лучший способ - поменять все "\" на "/". Я понял это, когда увидел предупреждения моего проекта. Например, c:Desktop\ex.exe для C:/Desktop/ex.exe.
Вы также можете запустить исполняемый файл или любой другой файл с помощью 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();
}
}