Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для Gubila_2000
7 / 3 / 3
Регистрация: 07.11.2014
Сообщений: 218
Записей в блоге: 1

Открытие файла сторонним приложением

03.10.2016, 17:15. Показов 2302. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно, чтобы по нажатию кнопки в моем приложении выполнялась функция по запуску файла(например видео-файла) уже сторонним приложением(например видео-проигрыватель), то есть чтобы происходило то же самое, если бы я запустил этот файл из проводника двойным кликом. Допустим у меня есть ссылка на файл. Возможно ли как-то, с помощью этой ссылки запустить этот файл через мое приложение?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.10.2016, 17:15
Ответы с готовыми решениями:

Значение, возвращаемое приложением должно быть "увидено" другим приложением
Всем привет. Подскажите пожалуйста, как после определённого события, к примеру, при нажатии на кнопку, приложение возвращало-бы...

Работа со сторонним приложением
Здравствуйте! Прошу вашей помоши потому что сам не так силён в Delphi. Опишу саму проблему и думаю вы сами поймёте. 1. Есть программа WP...

Взаимодействие со сторонним приложением
Здравствуйте, есть сторонняя программа, мне нужно выводить с нее информацию и передавать моей программе после каких то логических действий...

3
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
03.10.2016, 18:22
Если у стороннего приложения предусмотрено это в командной строке, то да.
Например:

C++
1
2
3
4
//---------------------------------------------------------------------------
void __fastcall TForm2::FormClick(TObject *Sender) {
    WinExec("c:\\Program Files (x86)\\Windows Media Player\\wmplayer.exe e:\\HelSound1.MPG", SW_SHOW);
}
0
 Аватар для BOGG ART
592 / 459 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
03.10.2016, 18:28
Статья: Почему вам не следует использовать ShellExecute(Ex) (и WinExec) - там читаем статью по ссылке "В прошлый раз мы узнали" и подраздел "Как правильно делать".

Добавлено через 16 секунд
Там правда под Делфи, но так как это WinAPI - смысл одинаков, просто синтаксис поправить.

Добавлено через 1 минуту
Цитата Сообщение от Gubila_2000 Посмотреть сообщение
ссылка на файл
В плане URL на какой-то сайт или FTP? Или чего?
0
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
04.10.2016, 09:22
BOGG ART, данная статья ни слова вообще не говорит о WinExec, кроме того как то, что его нельзя использовать.
Если уже делаешь замечание, так делай по делу.

1. Опасность этой функции заключается в том, что парсер разбивает строку lpCmdLine на слова, разделенные пробелом, и функция будет пытаться запустить программу с названием первого слова

Следовательно, если в системе есть файл Program.exe, в следующем примере будет запущена эта программа, а не wmplayer.

C++
1
WinExec("c:\\Program Files (x86)\\Windows Media Player\\wmplayer.exe e:\\HelSound1.MPG", SW_SHOW);
Чтобы избежать этого, необходимо переделать код следующим образом

C++
1
WinExec(""c:\\Program Files (x86)\\Windows Media Player\\wmplayer.exe" "e:\\HelSound1.MPG"", SW_SHOW);
В общем, точно такой же принцип, как и в батниках (в примере выше не отображаются слеши перед кавычками)

2. Программа не рекомендуется к использованию и оставлена для совместимости прежних версий Windows. Это значит, что в следующих версиях Windows она может в один прекрасный момент исчезнуть из SDK. Следовательно при планировании долгоживущих приложений конечно же надо использовать CreateProcess.

П.С. Так почему же в данном примере я использовал WinExec?
1. Потому что при правильном использовании эта функция гарантированно работает на XP, Vista, Win 7, Win 10
2. Занимает одну строчку кода вместо как минимум 5. См. здесь
3. Суть примера была показать, как заставить сторонее приложение запустить файл юзера. Собственно акцентировать внимание на передаче пути файла параметром командной строки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.10.2016, 09:22
Помогаю со студенческими работами здесь

Управление сторонним приложением
Здравствуйте! 1) есть готовая чужая программа для обрезки видео. С программой работаем через командную строку windows; 2) есть моя...

Открыть видеофайл сторонним приложением
Доброе время суток. Подскажите пожалуйста: Как открыть видео файл при нажатии на кнопку Т.е. есть заранее определенный файл...

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

Открытие файла своим приложением
Помогите! Я написал редактор файлов и хочу установить его по умолчанию, но есть одна проблема. Когда я из total comander'a или Компьютера...

Открытие файла моим приложением
Доброго времени суток , написал свой плеер , и пытаюсь с его помощью открыть mp3, (т.е. жму на mp3 открыть с помощью и выбираю свою...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru