Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [VC++] Открыть с помощью - список для расшиерния, Добавить программу в список - Открыть с  
V
    Опции темы
MuForum
Дата 31.7.2009, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



Добрый день.

# Задача: Необходимо добавить программу в список "Открыть с помощью" для конкретного расширения.
- То есть, например для расширений .txt необходимо добавить в секцию "Рекомендуемые программы:" мою программу.


P.S. -> Знаю, что это нужно копаться в реестре.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
Cheloveck
Дата 31.7.2009, 08:22 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 1
Всего: 32



HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.<расширение>\OpenWithList

Добавлено через 1 минуту и 43 секунды
PS
Цитата(MuForum @  31.7.2009,  01:03 Найти цитируемый пост)
P.S. -> Знаю, что это нужно копаться в реестре. 

так копайся. Я за 2 минуты это нашёл.


--------------------
user posted image
PM Jabber   Вверх
MuForum
Дата 31.7.2009, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



#2, Cheloveck - По данному пути, к сожалению, нет списка программ с "Открыть с помощью".

"Regmon" мне показал, что происходит обращение по следующим путям:
Цитата

HKCR\.extension
HKCR\SystemFileAssociations\.extension
HKCU\Software\Classes\.extension
HKCU\Software\Classes\SystemFileAssociations\.extension
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.extension

- Но не по одному из них я не нашел то, что мне нужно было.


# Добавлено: По следующему пути "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.extension\OpenWithList" распологается строковые поля с именами программ, которые могут быть показаны в списке.
Далее в поле "MRUList" пишутся имена этих поле, которые должны показываться в списке.
Далее возникает вопрос, а где хранится информация о этих программах?

Это сообщение отредактировал(а) MuForum - 31.7.2009, 13:00


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
MuForum
Дата 31.7.2009, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 427
Регистрация: 13.6.2007
Где: Молдова, Кишинев

Репутация: нет
Всего: 4



# for all - В общем разобрался.

Во-первых: Переходим по следующему пути [HKEY_CLASSES_ROOT\Applications]
- Создаём следующий путь: [HKEY_CLASSES_ROOT\Applications\ProgramName.exe\shell\open\command]
- default vaule: "FilePath %1"
Во-вторых: Переходим по следующему пути [HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.extension\OpenWithList]
- Создаём строковое поле, имя которого будет латинская буква.
- Записываем в это поле имя нашей программы, которое мы указали при создание в пункте №1.
- Затем добавляем в строковое поле "MRUList" нашу букву.


P.S. -> Благодарю всех, кто принимал участие.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа!" (Р. Шекли)
PM MAIL WWW ICQ Skype MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0500 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.