Как в C++ WindowsForms связать работу командной строки и progressBar? Хочу по нажатию кнопки button запускать файлик с расширением vbs(в нём работа cmd) и чтобы в окне WinForms отображался progressbar, и чтобы progressbar полностью заполнился только тогда, когда завершил работу cmd Заготовка кода ниже: #pragma once #include <Windows.h> namespace New { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// Сводка для MyForm /// </summary> public ref class MyForm : public System::Windows::Forms::Form { public: MyForm(void) { InitializeComponent(); // //TODO: добавьте код конструктора // } protected: /// <summary> /// Освободить все используемые ресурсы. /// </summary> ~MyForm() { if (components) { delete components; } } private: System::Windows::Forms::Button^ button1; protected: private: /// <summary> /// Обязательная переменная конструктора. /// </summary> System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code /// <summary> /// Требуемый метод для поддержки конструктора — не изменяйте /// содержимое этого метода с помощью редактора кода. /// </summary> void InitializeComponent(void) { this->button1 = (gcnew System::Windows::Forms::Button()); this->SuspendLayout(); // // button1 // this->button1->Location = System::Drawing::Point(104, 109); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(75, 23); this->button1->TabIndex = 0; this->button1->Text = L"button1"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew System::EventHandler(this, &MyForm::button1_Click); // // MyForm // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(284, 261); this->Controls->Add(this->button1); this->Name = L"MyForm"; this->Text = L"MyForm"; this->ResumeLayout(false); } #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { system("start C:/Users/user/Desktop/test.vbs"); } }; }
Могу подсказать как подключить ProgressBar, но его (процент выаолнения) как ни крути нужно задавать вручную, а я не уверен что в твоей схеме есть такая возможность - ты запускаешь внешний процесс и я не вижу как ты из него собираешьсо сообщеть о ходе прогресса.