Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/58: Рейтинг темы: голосов - 58, средняя оценка - 4.86
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191

Создание минимального интерфейса для .exe программы без исходников в windows forms

24.03.2015, 16:16. Показов 12106. Ответов 53
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток всем!
Подскажите или направьте в нужное русло.
Задача следующая:
У меня есть некоторый обработчик wav файла написанного без какого-либо интерфейса. Т.е. через командную строку открывается файл и через пробел путь к wav файлу. Мне необходимо написать программу с графическим интерфейсом(я более менее разобрался в windows forms), где будет кнопка *открыть* ну и "запустить", после чего будет открываться командная строка и там выполняться программа. programma.exe file.wav
Кто что подскажет?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2015, 16:16
Ответы с готовыми решениями:

Изменения .exe без исходников
Здравствуйте, нужно в программе изменить описание и редирект на другие линки при нажатии на кнопки Сам инсталятор изменить не сложно, а...

Создание портативной программы, работающей с WPF и Windows Forms
WPF, WindowsFormAplication Создание портативной программы Народ подкинте хороший вариант создание портативной программы например...

Создание интерфейса для программы
Здравствуйте, помогите, пожалуйста, создать интерфейс программы

53
55 / 55 / 39
Регистрация: 19.03.2015
Сообщений: 167
24.03.2015, 18:16
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от crush91 Посмотреть сообщение
у меня стоит VisualStudio 2008. Не пойдет?
В VS создаешь приложение на основе диалога. Кидаешь на форму кнопки "открыть" "запустить". привязываешь к кнопкам обработчики. В обработчике "открыть" вызываешь стандартный диалог открытия файла. В обработчике "запустить" запускаешь процесс с параметром пути к твоему звуковому файлу.
0
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
24.03.2015, 19:55  [ТС]
Поставил. Набросай пожалуйста пример рабочей программы, а дальше попробую сам разобраться... Осталось qt выучить...)
0
Заблокирован
24.03.2015, 20:50
Цитата Сообщение от crush91 Посмотреть сообщение
Набросай пожалуйста пример рабочей программы, а дальше попробую сам разобраться...
Держи Открывать конечно же нужно через QtCreator. На код в разных файлах не смотри, он почти везде авто генерённый. Даже функции реакции на нажатия кнопок (слоты) так же автосгенерённые, я там только внутренности в виде пары строчек добавил (функции сгенерённые прямо из редактора - правой кнопкой по кнопке - "перейти к слоту"). Файл проекта с расширением pro.

Цитата Сообщение от crush91 Посмотреть сообщение
Осталось qt выучить...)
С этим проблем ваще никаких. Куча всяких книг и видео уроков. Правда книга зачастую не по последнему Qt.
Мой тебе совет, открываешь youtube и прямо в нём вбиваешь "qt" - сразу увидишь кучу уроков - найди на русском и слушай.

Ну конечно же, welcome: https://www.cyberforum.ru/qt/
Ээхх если б как в рекламе давали бонусы за то что привёл друга в кукую - нибуть мобильную сеть (подсадил на Qt и перевёл на ветку про Qt на киберфоруме)
Миниатюры
Создание минимального интерфейса для .exe программы без исходников в windows forms  
Вложения
Тип файла: rar Demo.rar (3.7 Кб, 13 просмотров)
1
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
25.03.2015, 05:09  [ТС]
Цитата Сообщение от Aston Martin Посмотреть сообщение
Держи Открывать конечно же нужно через QtCreator. На код в разных файлах не смотри, он почти везде авто генерённый. Даже функции реакции на нажатия кнопок (слоты) так же автосгенерённые, я там только внутренности в виде пары строчек добавил (функции сгенерённые прямо из редактора - правой кнопкой по кнопке - "перейти к слоту"). Файл проекта с расширением pro.


С этим проблем ваще никаких. Куча всяких книг и видео уроков. Правда книга зачастую не по последнему Qt.
Мой тебе совет, открываешь youtube и прямо в нём вбиваешь "qt" - сразу увидишь кучу уроков - найди на русском и слушай.

Ну конечно же, welcome: https://www.cyberforum.ru/qt/
Ээхх если б как в рекламе давали бонусы за то что привёл друга в кукую - нибуть мобильную сеть (подсадил на Qt и перевёл на ветку про Qt на киберфоруме)
Во-первых:
08:05:36: Выполняются этапы для проекта Demo...
08:05:36: Не удалось создать каталог «C:\Users\Master\Documents\build-Demo-Desktop_Qt_5_4_0_MinGW_32bit-Debug»
Ошибка при сборке/установке проекта Demo (комплект: Desktop Qt 5.4.1 MinGW 32bit)
Во время выполнения этапа «qmake»
08:05:36: Прошло времени: 00:00.
А во-вторых, мне ж надо тот обработчик wav файла подключить сюда и выполнять его с параметром пути Wav файла. как это реализовать тут? а то я пока разберусь, все сроки пройдут по программе)
0
Заблокирован
25.03.2015, 09:52
Цитата Сообщение от crush91 Посмотреть сообщение
а то я пока разберусь, все сроки пройдут по программе)
А какие сроки? Кто заказчик?

Цитата Сообщение от crush91 Посмотреть сообщение
как это реализовать тут?
Как и везде. Создаёшь процесс из файла с параметрами.

Цитата Сообщение от crush91 Посмотреть сообщение
Не удалось создать каталог
Ну у тебя есть доступ для создания каталогов в этой папке ?
Если нет, можешь в Qt Creator выбрать другую папку для сборки - когда проект открыт -"Проекты -> каталог сборки"

А так же приложи сюда скрин меню: Инструменты -> Параметры -> Сборка и запуск -> Комплекты и мышкой щёлкни на свой комплект minGW и фотографируй скрин.

Вот пример.
Миниатюры
Создание минимального интерфейса для .exe программы без исходников в windows forms  
0
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
25.03.2015, 10:33  [ТС]
Да в универе попросили сделать для упрощения работы людей. А я с гуи пока что не в ладах)
каталог сборки поменял, но появилось кучища ошибок связанных с ui
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
..\Demo\Demo\mainwindow.cpp: In constructor 'MainWindow::MainWindow(QWidget*)':
..\Demo\Demo\mainwindow.cpp:7:9: error: 'class Ui::MainWindow' has no member named 'textBrowser'
     ui->textBrowser->setText("Push the button :-)");
         ^
..\Demo\Demo\mainwindow.cpp: In member function 'void MainWindow::on_pushButton_1_clicked()':
..\Demo\Demo\mainwindow.cpp:24:9: error: 'class Ui::MainWindow' has no member named 'textBrowser'
     ui->textBrowser->setText("Hello from Button 1");
         ^
..\Demo\Demo\mainwindow.cpp:27:9: error: 'class Ui::MainWindow' has no member named 'lcdNumber'
     ui->lcdNumber->display(counter);
         ^
..\Demo\Demo\mainwindow.cpp: In member function 'void MainWindow::on_pushButton_2_clicked()':
..\Demo\Demo\mainwindow.cpp:33:9: error: 'class Ui::MainWindow' has no member named 'textBrowser'
     ui->textBrowser->setText("Hello from Button 2 :-)");
         ^
..\Demo\Demo\mainwindow.cpp:36:9: error: 'class Ui::MainWindow' has no member named 'lcdNumber'
     ui->lcdNumber->display(counter);
         ^
Makefile.Release:503: recipe for target 'release/mainwindow.o' failed
mingw32-make[1]: *** [release/mainwindow.o] Error 1
mingw32-make[1]: Leaving directory 'D:/Test/Qt/build-1-Desktop_Qt_5_4_1_MinGW_32bit-Debug'
mingw32-make: *** [release] Error 2
makefile:34: recipe for target 'release' failed
13:28:32: Процесс «C:\Qt\Qt5.4.1\Tools\mingw491_32\bin\mingw32-make.exe» завершился с кодом 2.
Ошибка при сборке/установке проекта Demo (комплект: Desktop Qt 5.4.1 MinGW 32bit)
Во время выполнения этапа «Сборка»
Подскажи на примере про процесс из файла с параметрами))
Миниатюры
Создание минимального интерфейса для .exe программы без исходников в windows forms   Создание минимального интерфейса для .exe программы без исходников в windows forms  
0
Заблокирован
25.03.2015, 10:52
Цитата Сообщение от crush91 Посмотреть сообщение
но появилось кучища ошибок связанных с ui

Ты явно не ту кнопку жмёшь

Ты можешь попробовать простой стандартный проект создать, ничего не меняя собрать и запустить. Запустится ?
Файл -> Новый файл или проект -> Приложение Qt Widget -> Далее далее далее и тд . Потом собирай и запускай.
Отпишись, запустится или нет.

про процесс пока времени нет расписывать. Но там всё элементарно, вот тут класс QProcess, который и нужен для этого: http://doc.qt.io/qt-5/qprocess.html

Ты сначала собери хелоу ворлд на виджетах и запусти, если заработает - отпишись, будем двигаться дальше
0
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
25.03.2015, 15:24  [ТС]
всё компилится и запускается) формы вставлял, работают. обработчики естессно пока не писал)
но именно твоя не робит)
0
Заблокирован
25.03.2015, 15:52
Цитата Сообщение от crush91 Посмотреть сообщение
но именно твоя не робит)
да и пёс с ней

В общем в редакторе форм, кидаешь какой - нибуть button на форму, жмакаешь на него правой кнопокой мышки и жмёшь "Перейти к слоту...", далее выбираешь clicked() и жмёшь ок. Всё! Редактор за тебя создал функцию и перекинул твой взор на неё. Эта функция и будет вызываться при нажатие на кнопку.

По процессу. Какие у тебя там параметры процесса бывают? Процесс должен обязательно в отдельном консольном окошке работать?

Для простого запуска процесса достаточно:
C++
1
2
3
4
5
6
#include <QProcess>
....
void MainWindow::on_pushButton_clicked()
{
    QProcess::execute("D:/2.exe");
}
Если нужны параметры, то можно так:
C++
1
2
3
4
5
6
7
8
#include <QProcess>
#include <QStringList>
 
...
 
int param1 = 777;
QString param2 = "wow";
QProcess::execute("D:/2.exe", QStringList() << QString::number(param1) << param2);
0
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
25.03.2015, 16:28  [ТС]
Да неважно как он будет работать, лишь бы работал)
параметр всего один - путь до wav файла через пробел.
0
Заблокирован
25.03.2015, 16:39
Цитата Сообщение от crush91 Посмотреть сообщение
параметр всего один - путь до wav файла через пробел.
Ну так запускай процесс, как я тебе описал постом выше например на нажатие кнопки (конечно же по хорошему нужно в другом потоке, да с прогресс баром )
В твоём случае будет:
C++
1
2
QString wavPath = "myWav.wav";
QProcess::execute("D:/2.exe", QStringList() <<  wavPath );
Отпишешься тогда о результатах
0
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
25.03.2015, 16:56  [ТС]
смысл в том, что wav файл каждый раз разный) мне нужно одной кнопукой этот ваф файл открывать или считывать путь к нему и другой запускать программу с параметром в виде wav файла)
0
Заблокирован
25.03.2015, 17:05
Цитата Сообщение от crush91 Посмотреть сообщение
смысл в том, что wav файл каждый раз разный) мне нужно одной кнопукой этот ваф файл открывать или считывать путь к нему и другой запускать программу с параметром в виде wav файла)
Прикинь свой GUI почётче, тогда я тебе накидаю пример.
Что ты хочешь конкретно делать? Ну вот две кнопки, одна открывает окно диалога с выбором файла, а вторая запускает твой бинарник с выбранным файлом в качестве параметра на выполнение? Почему не сделать одну кнопку? Выбрал и сразу запустил ?
0
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
25.03.2015, 17:08  [ТС]
Можно и с одной) без разницы) минимализм приветствуется)))
0
Заблокирован
25.03.2015, 17:32
Лучший ответ Сообщение было отмечено crush91 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QProcess>
#include <QStringList>
#include <QFileDialog>
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::on_pushButton_clicked()
{    
 
    QString filePath = QFileDialog::getOpenFileName(0, "Выберите WAV файл для обработки едрёна медь :-)",
                                                    "./", "Wav файл (*.wav);;");
    
    if(filePath.size() > 0)
    {
        //ТУТ D:/2.exe - путь к твоему EXE файлу обработчика
        QProcess::execute("D:/2.exe", QStringList() << filePath);        
    }
}
1
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
25.03.2015, 17:39  [ТС]
еее. работает. а как теперь его собрать в релиз и где он будет лежать собранный?)))
0
Заблокирован
25.03.2015, 17:54
Цитата Сообщение от crush91 Посмотреть сообщение
еее.
Ну что, почувствовал мощь Qt ?

Цитата Сообщение от crush91 Посмотреть сообщение
а как теперь его собрать в релиз и где он будет лежать собранный?)))
Ты имеешь ввиду, что у тебя была папка, в которой есть все необходимые файла, в том числе файл твоей программы и чтоб всё это дело без проблем запускалось бы на другом компе ?

Ну тут отдельная песня. Я тебе говорил, что Qt за собой кое что тянет Ну собственно как и любой другой тул чейн.
Так вот, есть готовые утилитки от представителей ветки Qt - https://www.cyberforum.ru/blog... g2457.html для поиска зависимостей.

Я же тебе предлагаю сделать всё самому, по крайней мере в первый раз.
Итак:
1. Слева снизу в Qtcreator щёлкаешь по кнопке с картинкой компьютера (эта кнопка над стрелкой зелёной) и выбираешь там "Сборка - выпуск" (это Release)
2. Всё собрал, круто. Теперь кидай свой ехе-шник по обработки wav вместе с его dll-кой(видео что он не один) в папку с этим релизом.
3. Иди в папку и щёлкай по файлу своей программы с желанием его запустить и опа! Сразу вылетит окошко о невозможности запуска по причине отсутствия какой - то там DLL. Ну ты не отчаиваясь открываешь второе окошко экплорера в винде и идёшь по пути установки Qt в папку с Dll-ками его, у меня: C:\Qt\Qt5.4.1_minGW\5.4\mingw491_32\bin В общем из этой папки по одному переносишь dll-ки в папку со своей программой, пока она не запустится.

Запустилась - хорошо. Можешь попробовать запустить на другом компе. Вероятно, что и в таком случае не запуститься, тогда тебе надо гуглить фразу "qt platform plugin windows", там короче ещё одну папку надо скопировать.
Если совсем не разберёшься - пиши, помогу (у меня времени особо нет)

Добавлено через 1 минуту
Цитата Сообщение от crush91 Посмотреть сообщение
где он будет лежать собранный?
собранный он лежит в "слева Проекты->Каталог сборки"
0
34 / 26 / 8
Регистрация: 24.03.2015
Сообщений: 191
25.03.2015, 17:58  [ТС]
Вот это поворот...)
Хорошо, Спасибо, понял, буду разбираться)))
Будешь на Алтае, заходи, с меня пиво))))
0
Заблокирован
25.03.2015, 18:00
Цитата Сообщение от crush91 Посмотреть сообщение
Будешь на Алтае
Эка тебя занесло
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
25.03.2015, 18:13
Цитата Сообщение от crush91 Посмотреть сообщение
Вот это поворот...)
есть другие хорошие IDE где нет таких поворотов. Ты представляешь, в них результат не делится на релиз и дебаг- это незачем. (Одно из решений- лишняя сущность, а зачем плодить лишние сущности?) И дополнительные файлы с компа на комп таскать не надо.

Добавлено через 3 минуты

Не по теме:

Это всё равно как сравнить с языком паскаль, когда я начал его изучать, я понял, что бывают процедуры, а бывают функции и не дай Бог перепутать. А потом перешёл на Си и понял, что одно из них- искусственное образование, что всё решается одной- или процедурой или функцией, как её ни назови. И всё стало проще. А ты... А ты вникай в разницу между релизом и дебагом.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.03.2015, 18:13

Создание интерфейса для консольной программы
Имеется следующий код: using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Создание графического интерфейса для программы
Есть программа const n=6; var mas: array of integer; i,j: byte; chislo: integer; usl: boolean; begin randomize; ...

Создание интерфейса для уже существующей программы в MATLAB
Помогите пожалуйста,У меня есть м-файл PASSIV,внутри которого я задаю параметры,которые в дальнейшем использую для получения результата.Мне...

Программы для вычисления в Windows Forms
В общем сестре в школе задали проект по информатике. Две задачки на Pascal ABC Net. Программы должны иметь графический интерфейс. Первая...

Создание интерфейса для программы с несколькими типами учетных записей в ней
Каким образом, как правильно организовать интерфейс такой программы? Интерфейс программы будет отличаться различным функционалом например...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru