С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 6

Открыть файл, выбранный в OpenDialog

29.10.2015, 12:51. Показов 2421. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
по нажатию на кнопку у меня должен открываться opendialog, из которого я могу открыть любой файл. Но у меня по нажатию на кнопку открывает этот opendealog, но когда я выбираю любой файл который хочу открыть ничего не происходит, в чем может быть проблема. Вот код.
C++
1
2
3
4
5
6
7
8
void __fastcall TForm4::Button1Click(TObject *Sender)
{
    STARTUPINFO StartInfo={sizeof(TStartupInfo)};
    PROCESS_INFORMATION ProcInfo;
    StartInfo.cb=sizeof(StartInfo);
    if (OpenDialog1->Execute())
    CreateProcess(NULL,OpenDialog1->FileName.c_str(), NULL, NULL, false, NORMAL_PRIORITY_CLASS, NULL, NULL, &StartInfo, &ProcInfo);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.10.2015, 12:51
Ответы с готовыми решениями:

listbox открыть выбранный файл
У меня в листбокс выводятся файлы в папке, мне нужно открыть один из них, как это можно сделать ?

Открыть файл через OpenDialog
Доброго времени суток! Чего-то совсем запутался! Подскажите, пожалуйста, как открыть файл через OpenDialog? Что надо писать после...

Открыть файл выбранный в ListView
Доброго времени суток! Подскажите пожалуйста, как запустить файл выбранный в ListView ? Например я загрузил список файлов из конкретной...

12
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
29.10.2015, 12:53
Цитата Сообщение от mstk Посмотреть сообщение
ничего не происходит
А что должно происходить? Чтобы что-то произошло, вторым параметром надо передать командную строку, а не просто имя файла. С ShellExecute не путаем?
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 6
29.10.2015, 13:00  [ТС]
и как код должен выглядеть? Со всеми другими функциями я разобрался, а тут не получается.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
29.10.2015, 13:09
Еще раз: что именно должно происходить после выбора файла?
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 6
29.10.2015, 13:11  [ТС]
открыть его
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
29.10.2015, 13:14
Открыть его в программе по умолчанию (txt - в notepad-е, bmp - в Paint-е)? Тогда так:
C++
1
ShellExecute(Handle, "open", OpenDialog1->FileName.c_str(), NULL, NULL, SW_SHOWDEFAULT);
1
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 6
29.10.2015, 13:16  [ТС]
мне надо именно СreateProcess, ShellExecute у меня работает как надо.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
29.10.2015, 13:24
Для начала нормально вопрос задай, или на заданные тебе вопросы ответь. Это вообще кому надо, нам или тебе? Почему приходится из тебя все клещами тянуть? Вот смотри: выбрал я txt-файл. И чего? Как я тебе его открою? Только notepad-ом, правда? То есть, я закодировал, что у меня командная строка будет с notepad-ом. А теперь я бах и выбираю doc, или xls, или jpeg, или png. Что будет при попытке открыть любой из этих файлов notepad-ом - сам догадаешься?

Конкретнее вопрос задай. Какие файлы будут открываться? Как будет гарантировано, что пользователь не выберет другой файл? Если он все-таки выберет другой тип файла, а не тот, который ты захардкодил - что делать?
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 6
29.10.2015, 13:32  [ТС]
Вопрос стоит так.
Как мне с помощью функции СreateProcess открыть любое приложение будь то .doc .exe и так далее по нажатию на кнопку.

Добавлено через 3 минуты
Вроде вопрос составлен корректно) и не надо так злиться, я в первые что то тут спрашиваю, может правда не совсем понятно как выяснялось. Просто для мня вроде понятно, что я спросил и имел ввиду.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
29.10.2015, 13:46
Наверное имеется в виду, как из своей программы, ткнув на любой файл, запустить штатный просматривальщик, закрепленный за этим расширением в системе, и открыть в нем выбранный файл. Типа того.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.10.2015, 13:59
Цитата Сообщение от mstk Посмотреть сообщение
мне надо именно СreateProcess
Зачем?
0
0 / 0 / 0
Регистрация: 20.09.2015
Сообщений: 6
29.10.2015, 14:06  [ТС]
стоит такое задание использовать именно СreateProcess.
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
29.10.2015, 14:33
Я бы посоветовал с помощью функции FindExecutable найти ассоциированное с выбранным файлом приложение, а потом уже пробовать запускать его с параметром имени файла.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2015, 14:33
Помогаю со студенческими работами здесь

Открыть файл выбранный в ListBox
Всем еще раз привет! при выборе одного или нескольких файлов (мультиселект) в ListBox, есть вариант производить какие то действия с...

Как открыть файл через OpenDialog
ранее использовал: OpenDialog что б открыть файл на винде... сейчас запустил ВТФ и тут его не нашол... как открыть файл в ВПФ ?

Как открыть файл через opendialog
Здравствуйте, нужно через main открыть файл (что бы пользователь сам выбрал какой текстовый файл открыть). Помогите пожалуйста, в интернете...

Открыть и считать рандомно выбранный файл
Доброго времени суток! помогите пожалуйста! В программе считываю текст из текстового файла, но можно ли сделать, какой-нибудь...

Открыть текстовый файл выбранный в combobox
в combobox выводятся названия текстовых файлов, пользователь выбирает файл, который нужно открыть как вывести слова из файла, выбранного...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru