Загрузка...

Помощь в связи cmd и C++

Тема в разделе C/C++ создана пользователем RedLineWeb 26 мар 2022. 194 просмотра

  1. RedLineWeb
    RedLineWeb Автор темы 26 мар 2022 0 26 мар 2022
    Как в 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");
    }
    };
    }


     
  2. vtlstolyarov
    vtlstolyarov 26 мар 2022 468 8 янв 2022
    Могу подсказать как подключить ProgressBar, но его (процент выаолнения) как ни крути нужно задавать вручную, а я не уверен что в твоей схеме есть такая возможность - ты запускаешь внешний процесс и я не вижу как ты из него собираешьсо сообщеть о ходе прогресса.
     
Top
Загрузка...