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

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

24.03.2015, 16:16. Показов 12111. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 25.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 25.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 22.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru