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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2015, 10:44   #1
promer
Пользователь
 
Регистрация: 16.05.2008
Сообщений: 46
По умолчанию По имени установленной программы какие расширения к ней привязаны

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

Как можно по имени программы (например MSExcel) узнать:
1. Установлена ли она на компьютере.
2. Какие расширения файлов к ней привязаны.
(по-видимому надл лопатить реестр)

Буду благодарен на за любые ссылки на исходники...
promer вне форума Ответить с цитированием
Старый 21.08.2015, 12:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
1. Установлена ли она на компьютере.
Смотря что понимать под словом "установлена". Можно пройтись по списку Uninstall.
Цитата:
Какие расширения файлов к ней привязаны.
Да. Придется лопатить реестр.
могу порекомендовать такое:
http://delphiworld.narod.ru/base/app_by_ext.html
http://delphiworld.narod.ru/base/ins...apps_list.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.08.2015, 12:35   #3
SLAUR
Пользователь
 
Регистрация: 16.10.2014
Сообщений: 51
По умолчанию

Вот так регестрируется расширение программы
Код:
procedure RegisterFileType(FileType,FileTypeName, Description,ExecCommand:string);
begin
 if (FileType='') or (FileTypeName='') or (ExecCommand='') then exit;
 if FileType[1]<>'.' then FileType:='.'+FileType;
 if Description='' then Description:=FileTypeName;
 with Treginifile.create do
 try
 rootkey := hkey_classes_root;
 writestring(FileType,'',FileTypeName);
 writestring(FileTypeName,'',Description);
 writestring(FileTypeName+'\shell\open\command','','"'+ExecCommand+'"'+' "%1"');
 finally
 free;
 end;
end;
Например RegisterFileType('nfo','KomentFile' , 'Koment Document',Paramstr(0));
В этом примере регистрируется файл с расширением nfo

Думаю сообразите как искать программу для вашего расширения
SLAUR вне форума Ответить с цитированием
Старый 25.08.2015, 09:58   #4
promer
Пользователь
 
Регистрация: 16.05.2008
Сообщений: 46
По умолчанию Благодарность.

Спасибо всем за подсказки. Раньше не смог ответить: не выходит в сеть...
С их помощью, надеюсь, разберусь с проблемой.
Только мне надо не "программу для расширенения" а наоборот:
Какие расширения "привязаны" к программе...
promer вне форума Ответить с цитированием
Старый 25.08.2015, 10:47   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от promer Посмотреть сообщение
Только мне надо не "программу для расширенения" а наоборот:
Какие расширения "привязаны" к программе...
Если Вы о
DLL-ках, то тут всё просто. Декомпилим экзешник, там и имя и иногда дажэе путь прописан (не всегда). Так, пррсто, без исходкников, вляди, что прлучится. Голову придётся приложить, а не только бутылки об ней разбивать .
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 25.08.2015, 11:14   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
мне надо не "программу для расширенения" а наоборот
Ну в примерах же дается ветка, куда пишется привязки? Вот прочитай из нее данные, найди в них свою программу и узнаешь. Читать из реестра умеешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
UML-диаграмма классов (указать, какие объекты использовались и объяснить их взаимодействие на ней) carrie bradshaw Помощь студентам 8 21.04.2014 20:03
Регистрация доменного имени. Какие данные вводить? Человек_Борща Общие вопросы Web 8 14.02.2012 18:47
Можно ли обращаться к файлу по имени, не используя расширения? Алекс7 Microsoft Office Excel 8 23.07.2011 17:48
Удаление файла любого расширения\имени zhekanvidia Общие вопросы C/C++ 3 01.06.2010 04:17