Сейчас на форуме: (+5 невидимых)

 eXeL@B —› Программирование —› Проблемка с проводником
Посл.ответ Сообщение

Ранг: 20.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 26 июля 2007 10:46
· Личное сообщение · #1

Вот что мне надо
как бы обьяснить..
Знаете как в винраре. после его установки у каждого файла появляется надпись(в проводнике)
"добавить в архив"
вот мне надо приерно так же
Как это сделать?
связать расширение с моей прогой?



Ранг: 53.8 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 26 июля 2007 11:03
· Личное сообщение · #2

Amachbek пишет:
Знаете как в винраре. после его установки у каждого файла появляется надпись(в проводнике)


Это называется контекстное меню




Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 26 июля 2007 11:16
· Личное сообщение · #3

Чтобы связать своё приложение с каким-либо типом файлов необходимо в реестре, в ветке HKEY_CLASSES_ROOT создать два раздела, имена которых представляют собой: 1. расширение, которое ты хочешь зарегистрировать, 2. название твоей программы.

Например, для того чтобы ассоциировать файлы с расширением ".myp" с программой "MyProgram" необходимо создать следующие разделы реестра:

HKEY_CLASSES_ROOT

.myp - со значением по умолчанию MyProgram.1 (рекомендуеться ставить .1 для того чтобы была возможность создавать новые версии приложения, которые могли бы быть одновременно установленными на одном компьютере)

MyProgram.1 - со значением по умолчанию MyProgram Application (на самом деле сюда следует записывать полное название твоей программы)

так же ты можешь создать раздел MyProgram.1\DefaultIcon и присвоить его значению по умолчанию путь к файлу иконки, например:
"C:\Program Files\MyProgram\icon.ico" (здесь указываеться файл иконки),
так же можно воспользоваться строкой вида:
"C:\Program Files\MyProgram\myprog.exe,20" (данная строка подразумевает, что у тебя в файле программы, в ресурсах присутствует не менее 20 иконок, причем иконка по умолчанию будет именно 20-ая, если данной иконки не существует, то будет отображаться ярлык "неопозннаого" документа)

Так же необходимо создать ключ "MyProgram.1\shell\open\command" и его значением по умолчанию установить строку вида:
"C:\Program Files\MyProgram\myprog.exe %1". Именно это строка отвечает за то, каким приложением будет открываться файл такого типа.

! Так же ты можешь сменить "open" на другую строку, и именно она будет появляться при счелчке правой кнопкой мыши по файлу с ассоциированным расширением.

-----
One death is a tragedy, one million is a statistic.





Ранг: 158.5 (ветеран), 219thx
Активность: 0.120.01
Статус: Участник

Создано: 26 июля 2007 11:17
· Личное сообщение · #4

Для примера возьми WinRar... Посмотри как это сделано у него и какие-либо вопросы отпадут сами по себе! Удачи...

-----
One death is a tragedy, one million is a statistic.




Ранг: 53.8 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 26 июля 2007 11:25
· Личное сообщение · #5

ZaZa пишет:
Чтобы связать своё приложение с каким-либо типом файлов необходимо в реестре, в ветке HKEY_CLASSES_ROOT создать два раздела, имена которых представляют собой: 1. расширение, которое ты хочешь зарегистрировать, 2. название твоей программы.


он про контекстное меню спрашивает, а ты про типы файлов




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 26 июля 2007 12:40
· Личное сообщение · #6

dimaxmaster пишет:
он про контекстное меню спрашивает, а ты про типы файлов

ога)) поиск рулет ... по регедиту))

-----
invoke OpenFire




Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 26 июля 2007 13:18
· Личное сообщение · #7

dimaxmaster пишет:
он про контекстное меню спрашивает, а ты про типы файлов

Amachbek пишет:
Как это сделать?
связать расширение с моей прогой?

Хм... dimaxmaster читай внимательнее.

-----
xchg dword [eax], eax





Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 26 июля 2007 13:22
· Личное сообщение · #8

v0id2k вы тоже не внимательны:
Amachbek пишет:
Знаете как в винраре. после его установки у каждого файла появляется надпись(в проводнике)
"добавить в архив"
вот мне надо приерно так же


-----
invoke OpenFire




Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 26 июля 2007 14:10
· Личное сообщение · #9

Ice-T
Понял, тогда я дополню ответ ZaZa.
Для того чтобы добавить это все в проводник нужно в том же ключе реестра HKEY_CLASSES_ROOT создать раздел mypfile, в нем еще один раздел shell, а вот там уже и надо прописывать то, что ты хочешь чтобы вставлялось в контекстное меню.
В общем в ключе HKEY_CLASSES_ROOT заглягни в раздел, допустим, exefile, и сразу станет все понятно

-----
xchg dword [eax], eax





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 26 июля 2007 14:44 · Поправил: Crawler
· Личное сообщение · #10

Мля, я подсказываю товарищу правильный и гуманный метод:
Сервис->Свойства папки->Типы файлов->далее выбираешь или создаешь тип файла, жмешь кнопку "Дополнительно" и создаешь действие. Далее смотришь регмоном, что в это время хреначится в реестр.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 26 июля 2007 15:30
· Личное сообщение · #11

Crawler речь судя по всему идет о программной реализации.

-----
invoke OpenFire




Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 26 июля 2007 15:50
· Личное сообщение · #12

Ice-T пишет:
речь судя по всему идет о программной реализации

Скорее всего.

Мне еще интересно, как иконки вставляюцо в контекстное меню.

-----
xchg dword [eax], eax




Ранг: 309.8 (мудрец), 21thx
Активность: 0.170
Статус: Участник

Создано: 26 июля 2007 15:54
· Личное сообщение · #13

www.google.ru/search?q=%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%D0%BF%D1%83%D0%BD%D0%BA%D1%82+%D0%B2+%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5+%D0%BC%D0%B5%D0%BD%D1%8E+%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a

-----
Shalom ebanats!




Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 26 июля 2007 17:14
· Личное сообщение · #14

SLV пишет:
www.google.ru/search?q=%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1% 82%D1%8C+%D0%BF%D1%83%D0%BD%D0%BA%D1%82+%D0%B2+%D0%BA%D0%BE%D0%BD%D1%8 2%D0%B5%D0%BA%D1%81%D1%82%D0%BD%D0%BE%D0%B5+%D0%BC%D0%B5%D0%BD%D1%8E+% D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0&ie=utf-8&o e=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a

Развернутый и исчерпывающий ответ

-----
xchg dword [eax], eax




Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 26 июля 2007 18:13
· Личное сообщение · #15

Ice-T пишет:
Crawler речь судя по всему идет о программной реализации.

Так он об этом и говорит.




Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 26 июля 2007 18:28
· Личное сообщение · #16

SergX пишет:
Так он об этом и говорит.

уахаха!! с этого места поподробнее! КОД В СТУДИЮ!

-----
invoke OpenFire



 eXeL@B —› Программирование —› Проблемка с проводником
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати