Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2007, 08:40   #1
Egych
Пользователь
 
Аватар для Egych
 
Регистрация: 10.02.2007
Сообщений: 13
По умолчанию

Помогите! Народ, кто знает как сделать так, чтобы при нажатии на файл в Windows (например, mp3) запускалась моя программа и играла этот файл? Напишите, пожалуйста, процедуру.

Последний раз редактировалось RSLoader; 04.05.2007 в 15:28.
Egych вне форума Ответить с цитированием
Старый 04.05.2007, 09:10   #2
Fox
линуксоид
Форумчанин
 
Аватар для Fox
 
Регистрация: 02.11.2006
Сообщений: 157
По умолчанию

Поможет опция открыть с помощью!!!
Fox вне форума Ответить с цитированием
Старый 04.05.2007, 09:11   #3
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Нет, не напишем. С реестром работать умеете в Делфи? Если да, то прописывайте ассоциацию. Как она выглядит?
1) Заходим Пуск - Выполнить - Regedit
2) Идём в HKEY_CLASSES_ROOT\ - ищем там своё расширение. Например .mp3
3) Щёлкаем по ".mp3", но не заходим внутрь. Параметр "по умолчанию" = "Winamp.File" (у меня так )
4) тут же в ищем HKEY_CLASSES_ROOT\ ищем "Winamp.File"
5) смотрим как и что там сделано. Для своей проги пишем тоже самое.

Более подробно см. в "Библии Делфи" (есть в клубе - см. подпись)
zetrix вне форума Ответить с цитированием
Старый 04.05.2007, 09:31   #4
НЕ_АЙС
Форумчанин
 
Регистрация: 18.04.2007
Сообщений: 135
По умолчанию

По расширению имени файла (символы после последней точки в имени файла) определяется тип файла. В соответствии с типом файлу назначается иконка, отображаемая в Проводнике, программа, которая будет его открывать, и т.д. Всё это определяется в ветви реестра HKEY_CLASSES_ROOT, и вы можете внести изменения по своему усмотрению.

Запускаем редактор реестра Regedit и открываем ветвь HKEY_CLASSES_ROOT. В ней мы видим кучу разделов с именами, соответствующими расширениям файлов. Например, если нас интересует документ Word, ищем раздел ".doc". Значение параметра "(По умолчанию)" определяет тип файла для данного расширения и указывает на имя раздела, где этот тип описан (разные расширения могут относиться к одному и тому же типу). Теперь в той же ветви реестра ищем указанный раздел. Значение параметра "(По умолчанию)" этого раздела определяет имя типа файла, которое отображается в Проводнике. Значение параметра "(По умолчанию)" подраздела "DefaultIcon" определяет иконку для данного типа файла (подробнее см. в рубрике "1.3.7.*Иконки"). Открыв последовательно подразделы "shell", "open" и "command", доберёмся до параметра "(По умолчанию)", который определяет программу, запускаемую при открытии файла данного типа. Если в подразделе "shell" создать ещё какой-то подраздел, например, "WordPad", то его имя станет присутствовать в контекстном меню файла данного типа, раскрывающегося при щелчке правой кнопки мыши на файле. Создав в этом подразделе подраздел "command" и присвоив его параметру "(По умолчанию)" в качестве значения полное имя определённой программы, например:

"C:\Program Files\Accessories\WORDPAD.EXE" "%1"

вы осуществите то, что описано в вышеприведённом совете, только путём прямой правки реестра.

Таким образом, вы можете изменять параметры уже имеющихся типов файлов, а можете создать новый тип и связать с ним желаемые расширения имён файлов.
НЕ_АЙС вне форума Ответить с цитированием
Старый 04.05.2007, 09:46   #5
Ivan_Susanin
Пользователь
 
Регистрация: 15.04.2007
Сообщений: 20
По умолчанию

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

в данном случае имя файла будет находится в ParamStr[1]
Ivan_Susanin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск *.exe из программы Djaconda Паскаль, Turbo Pascal, PascalABC.NET 22 01.03.2012 00:27
запуск программы на удалённом компе SERG1980 Работа с сетью в Delphi 3 30.07.2008 13:50
Запуск программы на выполнение из другой программы. ViNcHeStEr Паскаль, Turbo Pascal, PascalABC.NET 6 18.06.2008 14:33
Запуск файлов программы d_slava Помощь студентам 2 17.06.2008 11:22
Запуск программы из под лоадера. BoryaPop Общие вопросы Delphi 2 11.03.2008 08:11