И опять же связывание расширения с программой!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
NicSoft
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 05.04.2003 (Сб) 18:51
Откуда: Егорьевск

И опять же связывание расширения с программой!

Сообщение NicSoft » 29.01.2004 (Чт) 22:24

Уважаемый RayShade, сильно прошу не закрывать тему, т.к. там, где я проживаю 1час Inet-а стоит 1,5$ при скорости 20кбит и отвратительном качестве, а поэтому я не могу часами просиживать в поиске, который, к сожалению далёк от Яндекса.
:oops: Так вот вопрос: Читал здесь, что ключ реестра для связывания находится в разделе HKEY_CLASSES_ROOT.
Но методом научного тыка обнаружил, что для этого необходимы 2 ключа:
1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
Он оказался одинаковым в XP и Me.
2. в Me: HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
в XP: HKEY_USERS\S-1-5-21-1202660629-1409082233-682003330-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.PL3
где куча циферь начинающаяся как S-1-5-... в каждом компе своя.
Так вот данные в реестр я заношу при установке программы на компы юзеров при помощи Setup Factory. Но как быть с этим разделом, который соответственно у всех разный?

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 30.01.2004 (Пт) 1:27

Нет ничего невозможного для человека с интеллектом.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 30.01.2004 (Пт) 1:49

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

Код: Выделить всё
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.rtfm]
@="Readme.manual"

[HKEY_CLASSES_ROOT\Readme.manual]
@="Read The F***ing Manual"

[HKEY_CLASSES_ROOT\Readme.manual\DefaultIcon]
@="c:\\rtfm.ico,0"

[HKEY_CLASSES_ROOT\Readme.manual\shell]
@=""

[HKEY_CLASSES_ROOT\Readme.manual\shell\open]
@=""

[HKEY_CLASSES_ROOT\Readme.manual\shell\open\command]
@="c:\\MyProgDir\\MyProg.exe %1"



здеся
Код: Выделить всё
[HKEY_CLASSES_ROOT\.rtfm]
@="Readme.manual"

Создаем раздел "HKEY_CLASSES_ROOT\.rtfm", обозванный как расширение у твоего файла
значение по умолчанию ему присваиваем "Readme.manual", тогда при обращении на твой файл инфа будет читаться из ветки "HKEY_CLASSES_ROOT\Readme.manual".

Код: Выделить всё
[HKEY_CLASSES_ROOT\Readme.manual]
@="Read The F***ing Manual"

Создаем сам раздел, с которого читать будем инфу, по умолчанию присваиваем ему имя. Например, "Read The F***ing Manual". Ето он у тя будет показывать как тип файла, ну вот как в Виндовсе показывает "Текстовый документ", когда на ТХТ кликаешь.

Код: Выделить всё
[HKEY_CLASSES_ROOT\Readme.manual\DefaultIcon]
@="c:\\rtfm.ico,0"

Связываем формат с иконкой, которая у нас на диске хранится.

Код: Выделить всё
[HKEY_CLASSES_ROOT\Readme.manual\shell]
@=""

[HKEY_CLASSES_ROOT\Readme.manual\shell\open]
@=""

Создаем разделы, которые нам помогут создать главный раздел, в котором мы собственно и укажем чем нашу прогу открывать. Ниже показано как ето сделать.

Код: Выделить всё
[HKEY_CLASSES_ROOT\Readme.manual\shell\open\command]
@="c:\\MyProgDir\\MyProg.exe %1"

Соответственно создаем и связываем с прогой. Кстати прикольно получается, можно зверю на компе в реестре поменть TXT - описание не Текстовый документ а чего нить другое и он блокнотом откроет:) и иконку покулькурнеее:)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 30.01.2004 (Пт) 1:52

Какой прикол создавать отдельный Reg файл и запускать его Shellом :shock: , если можно прямо из своей программы всё сделать с пом. API :?:
Нет ничего невозможного для человека с интеллектом.

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 30.01.2004 (Пт) 1:59

Ето не есть прикол ... ето есть описание .... что и где создать ....
А делать надо через API ... работы с реестром:)
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

NicSoft
Обычный пользователь
Обычный пользователь
 
Сообщения: 80
Зарегистрирован: 05.04.2003 (Сб) 18:51
Откуда: Егорьевск

Сообщение NicSoft » 30.01.2004 (Пт) 18:11

Огромное спасибо!
Наконец-то разъяснили. Всё пашет. :D
А при помощи Setup Factory по-моему править реестр легче и удобнее (программа не загромаждается и при деинсталляции всё удалить легко)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 7

    TopList  
cron