Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Форум MMB » Всё о программе Multimedia Builder » Общие вопросы по MMB » Ассоциация файлов с проектом MMB
Ассоциация файлов с проектом MMB
OmarДата: Вторник, 16 Января 2007, 15:01 | Сообщение # 1
Группа: Удаленные





Всем привет !!! Заранее извиняйте может быть вопрос задавался, но всё таки как сделать так, чтобы при открытии файла допустим формата jpg он открывался не в ACDSee а в моей программе. Я так понимаю, что надо копаться в системном реестре.
 
toizyДата: Вторник, 16 Января 2007, 16:24 | Сообщение # 2
Группа: Удаленные





Можно и в реестре, только не удобно. Иногда удобнее использовать плагин.
 
OmarДата: Вторник, 16 Января 2007, 16:53 | Сообщение # 3
Группа: Удаленные





В принципе я нашёл плагин под названием File Association (fileassoc) Plugin 1.0, но было бы не плохо если бы Вы пояснили как с ним пользоваться.
 
as-masterДата: Вторник, 16 Января 2007, 21:04 | Сообщение # 4
Группа: Удаленные





Нашел у себя в архиве совет. Кто автор - не знаю Привожу полностью:

Создай рег-файл такого содержания:

REGEDIT4

[HKEY_CLASSES_ROOT\.myf]
@="my_file"
[HKEY_CLASSES_ROOT\my_file]
@="my file type"
[HKEY_CLASSES_ROOT\my_file\shell]
@="open"
[HKEY_CLASSES_ROOT\my_file\shell\open]
[HKEY_CLASSES_ROOT\my_file\shell\open\command]
@="C:\\myplayer.exe \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\.myf]
@="my_file"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\my_file]
@="my file type"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\my_file\shell]
@="open"
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\my_file\shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\my_file\shell\open\command]
@="C:\\myplayer.exe \"%1\""

где можешь изменить по своему вкусу следующие значения:
1) myf - расширение файла
2) my_file - идентификатор раздела в реестре
3) my file type - тип файла, который отображается в свойствах
4) C:\\myplayer.exe - программа, с которой ассоциирован файл

Также создается и файл де-регистрации. Только ставится знак минуса сразу после открывающей квадратной скобки.
Чтобы не было запроса при внесении данных в реестр, нужно прописать параметр /s, например, "regedit /s myreg.reg"

 
toizyДата: Вторник, 16 Января 2007, 21:07 | Сообщение # 5
Группа: Удаленные





smile
Я тоже делал такой плагин, только что-то забросил его...

Если с плагином есть демо - тогда что объяснять? А если ты посмотрел демо, и у тебя есть вопросы - задавай, ответим smile

Добавлено (16 Января 2007, 21:07)
---------------------------------------------

Quote (as-master)
Нашел у себя в архиве совет

Вот-вот... Если для тебя важны лишние сто килобайт - используй этот совет.

А автор вроде P@vell.

 
humanoidДата: Вторник, 16 Января 2007, 21:44 | Сообщение # 6
Гуманоид
Группа: Проверенные
Сообщений: 406
Репутация: 3
Награды: 1
Статус: Offline
Code
Создай рег-файл такого содержания:  

REGEDIT4  

[HKEY_CLASSES_ROOT\.myf]  
@="my_file"  
[HKEY_CLASSES_ROOT\my_file]  
@="my file type"  
[HKEY_CLASSES_ROOT\my_file\shell]  
@="open"  
[HKEY_CLASSES_ROOT\my_file\shell\open]  
[HKEY_CLASSES_ROOT\my_file\shell\open\command]  
@="C:\\myplayer.exe \"%1\""  
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\.myf]  
@="my_file"  
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\my_file]  
@="my file type"  
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\my_file\shell]  
@="open"  
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\my_file\shell\open]  
[HKEY_LOCAL_MACHINE\SOFTWARE\CLASSES\my_file\shell\open\command]  
@="C:\\myplayer.exe \"%1\""  

Это я as-masteru както засылал.... предлагал сделать шелл для проектов MMB, с небольшим переименованием, и после чего при шелчке файл открывался бы сразу плеером....  как например документ Ворд

Только кто-то расширение новое переделал


Hi, from Moon!

Сообщение отредактировал humanoid - Вторник, 16 Января 2007, 21:46
 
OmarДата: Вторник, 16 Января 2007, 22:25 | Сообщение # 7
Группа: Удаленные





Quote
Если с плагином есть демо - тогда что объяснять? А если ты посмотрел демо, и у тебя есть вопросы - задавай, ответим

В архиве был сам плагин и файл Readme:

(Я только понял, что плагин имеет 4 фунции)

File Association Plugin
For Mediachance's Multimedia Builder
Version 1.0.0

The File Association Plugin was written to make creating file association with MMB as east as possible. You can create, kill and check the association of you project with a minimum of 2 lines of code.

/...содержание вырезал as-master - нафига оно тут?.../

P.S. Кстати, AS-MASTER СПАСИБО Вам огромное за то, что Вы порекомендовали разобраться в таймере самому....получилось, оказывается надо было добавить строчку, которая каждые 0,5 секунд сверяла бы системное время с переменными как я понял.

Сообщение отредактировал as-master - Вторник, 16 Января 2007, 23:43
 
as-masterДата: Вторник, 16 Января 2007, 23:40 | Сообщение # 8
Группа: Удаленные





Омар, к чему приводить здесь содержание каких-то справок?
Ответ, как сделать ассоциацию, мы дали. Работай с реестром = и всё тут.
 
OmarДата: Среда, 17 Января 2007, 10:54 | Сообщение # 9
Группа: Удаленные





Quote
как сделать ассоциацию, мы дали. Работай с реестром = и всё тут.

Все сделал изменил на расширение mp3, но при открытии mp3 файла он открывается в Winamp'е

Quote
сделать ОДИН НОРМАЛЬНЫЙ плагин для работы с Реестром!

Был бы очень благодарен

P.S. По-моему кто-то не понял:

Допустим у меня проект в нём находится контейнер Bitmap, и мне надо чтобы при открытия файла допустим
с расширением JPG он загружался в этот Bitmap.

 
as-masterДата: Среда, 17 Января 2007, 11:00 | Сообщение # 10
Группа: Удаленные





Quote (Peter)
И не париться по-поводу лишних ста килобайт!

Еще раз поспорю насчет этого.
Иногда сто килобайт - это очень много, если ВСЯ прога весит килобайт 500.
Знаешь, как меня критиковали на фрисофте за StopPC, который весит 600 кило.
Мол, для таймера и 60 килобайт - предел.

Другое дело - если программа весит 10-20 мб и более, если это какая-нибудь
мультимедийная энциклопедия на диске. Тогда да. Но в противном случае
платить 100 кило только за возможность записи в реестр - это роскошь.
И вообще, если для каждого шага плагин создавать - сколько их в проекте будет...

Кстати, 12 января на сайте выложен модуль от Rush, который в том числе умеет работать
и с реестром. Нужно просто грамотно давать команды для записи в реестр, а также
не забывать удалять эти записи за собой, когда программу с компа удаляют или когда
ее выключают.

Кстати, модуль от Rush весит всего 8 Кб, а умеет столько всего!
Настоятельно всем рекомендую smile

Добавлено (17 Января 2007, 11:00)
---------------------------------------------

Quote (Омар)
Все сделал изменил на расширение mp3, но при открытии mp3 файла
он открывается в Winamp'е

Значит, сделал что-то неправильно.
Постараюсь найти сегодня время, чтобы самому все проверить.

Сообщение отредактировал as-master - Среда, 17 Января 2007, 11:00
 
PolygoNДата: Среда, 17 Января 2007, 12:52 | Сообщение # 11
MMB Club
Группа: Проверенные
Сообщений: 5
Репутация: 0
Награды: 1
Статус: Offline
У меня этот пример работает отлично, однако As-Master говорит, что у него не пашет, посмотрите как будет у вас.
Прикрепления: 98089765.zip (1.9 Kb)
 
OmarДата: Среда, 17 Января 2007, 14:25 | Сообщение # 12
Группа: Удаленные





Polygon что-то не работает:

1. Поставил расширение jpg
2. Ниже написал "фото"
3. Потом выбрал свою программу
4. Ассоциировал
5. Хоть хны...... открывает в ACDSee.

 
as-masterДата: Среда, 17 Января 2007, 15:09 | Сообщение # 13
Группа: Удаленные





Quote (PolygoN)
У меня этот пример работает отлично, однако As-Master говорит, что у него не пашет

PolygoN, я так понимаю - это бывший PolN? smile
Сейчас проверю скачанный пример еще раз.

Добавлено (17 Января 2007, 15:09)
---------------------------------------------
Короче, резюме.
У меня когда срабатывает, когда нет.
Например, avi-файлы ни в какую не дает менять НИ НА КАКУЮ ПРОГРАММУ!
Ни на свою, ни на системную.
Файлы рисунков, например, изменять разрешает. Но не все и не всегда.
Например, назначить их Блокноту не удается.

Почему может быть такое избирательное действие?...
У кого какие мнения? Может, система как-то запрещает?


Сообщение отредактировал as-master - Среда, 17 Января 2007, 15:11
 
PolygoNДата: Четверг, 18 Января 2007, 12:23 | Сообщение # 14
MMB Club
Группа: Проверенные
Сообщений: 5
Репутация: 0
Награды: 1
Статус: Offline
Quote (as-master)
PolygoN, я так понимаю - это бывший PolN?

Да, ты совершенно верно всё понимаешь. biggrin

Вот доработал проект, теперь вроде без багов. Протестируйте и скажите если это не так.

Прикрепления: 70710126.zip (2.0 Kb)
 
as-masterДата: Четверг, 18 Января 2007, 13:21 | Сообщение # 15
Группа: Удаленные





Всё работает!
Прошу объяснить ДЛЯ ВСЕХ, в чём имелась проблема.
 
YURIYДата: Четверг, 18 Января 2007, 18:58 | Сообщение # 16
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (PolygoN)
Да, ты совершенно верно всё понимаешь.

Как я ждал этих слов! С возвращением, Павел! Как давно тебя не было... Как всё у клуба начиналось - есть что вспомнить! Надеюсь, продолжиться и дальше! Статус повысил smile

Quote (as-master)
Прошу объяснить ДЛЯ ВСЕХ, в чём имелась проблема.

Как я заметил, PolygoN добавил такие строки почти в конце:

Code
string$= ''
ReturnVal=StrToFile(file$,string$,TRUE,TRUE) string$='[HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Explorer\FileExts\.'+EditBox$+']'
ReturnVal=StrToFile(file$,string$,TRUE,TRUE)
string$= '"Progid"="'+EditBox$+'_fileext"'
ReturnVal=StrToFile(file$,string$,TRUE,TRUE)
string$= '@=""'
ReturnVal=StrToFile(file$,string$,TRUE,TRUE)

дальше молчу smile

И в тему будет сказать о следующем. Если делать плеер, которыМ будут открываться mp3 файлы, то он должен как-то обрабатывать их через параметры. В MMB это предусмотрено, посему даю вам готовый скрипт, который я повертел на досуге:

Code
**Получаем количество параметров
n=VAL(CmdLineParam$[0])
**Если они есть, обрабатываем их
If (n>0) Then
   For i=1 To n
**Дело в том, что один параметр должен с двух сторон быть
**отделён пробелом, потому если вы открываете файл
**просто получая параметры, то путь с пробелами
**будет разбит MMB на несколько строк, посему придумал
**такую вот фишку: склеиваю параметры в один(т. е.
**собираю путь к файлу по частям) и если в переметре указано
**расширение, то это последняя часть и даю готовый путь
**к файлу в список. Работает с несколькими файлами
     param$=param$+CmdLineParam$[i]+' '
     If (POS(.,param$)<>0) Then
       ListBoxAddItem("SongList","STRING:param$")
       param$=''
     End
   Next i
End

То есть:

Пишите в старт это сценарий. Ассоциируете свой скомпилированный в MMB плеер с mp3 файлами. При открытии mp3 файла благодаря этому скрипту файлы будут помещаться в список. А что дальше с ними делать - решать вам smile

Вот такие пироги... (©)

P. S. Ас, надо это всё дело включить в готовые ответы и на сайты проекты повесить.



Вечная память Андрею Сергееву!
 
as-masterДата: Четверг, 18 Января 2007, 20:37 | Сообщение # 17
Группа: Удаленные





Quote (Yuriy)
Ас, надо это всё дело включить в готовые ответы и на сайты проекты повесить

Вот в готовые ответы ты и включи, раз сам ответил.
А проекты кто будет делать? :)

PS. Павел, не теряйся больше так надолго! Мы скучаем ;о)

 
YURIYДата: Четверг, 18 Января 2007, 21:19 | Сообщение # 18
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (as-master)
Вот в готовые ответы ты и включи, раз сам ответил.А проекты кто будет делать? :)

Да без базару smile Просто, ты главный у нас wink И проекты сделаю.



Вечная память Андрею Сергееву!
 
RushДата: Пятница, 19 Января 2007, 23:41 | Сообщение # 19
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Quote (Peter)
Надо не самопальные рег-файлы писать (так, чего доброго, в Реестр можно всяких ошибок-опечаток напихать), а сделать ОДИН НОРМАЛЬНЫЙ плагин для работы с Реестром! И не только с регистрацией расширений файлов, а ВООБЩЕ с Реестром!

Какой тут плагин? Нафиг он нужен?

Сделал я в fscmd работу с реестром. Да и то, наверное, зря все это.
В ХР есть прекрасное средство для работы с реестром из командной строки - Reg.exe.
Там можно делать практически все, что душе угодно - добавлять, удалять, копировать, получать данные из реестра, сравнивать значения, экспортировать в рег-файл, импортировать из рег-файла, сохранять в файлы кустов, загружать файлы кустов, выгружать файлы кустов и восстанавливать ключи из файлов кустов.

 
as-masterДата: Суббота, 20 Января 2007, 01:22 | Сообщение # 20
Группа: Удаленные





Quote (Rush)
Сделал я в fscmd работу с реестром. Да и то, наверное, зря все это. В ХР есть прекрасное средство для работы с реестром из командной строки - Reg.exe.

Ну, во-первых не зря. Модуль твой и по другим статьям хорош smile
А во-вторых, неплохо бы сделать некий пример в ММВ по работе
с реестром либо с помошью твоего модуля, либо с помощью reg.exe.
Тем более что узнать информацию о нем по типу reg /? не получается...

 
toizyДата: Суббота, 20 Января 2007, 15:20 | Сообщение # 21
Группа: Удаленные





Quote (Yuriy)
Вот такие пироги... (©)

Не мой ли копирайт? smile
 
YURIYДата: Суббота, 20 Января 2007, 18:47 | Сообщение # 22
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (as-master)
во-вторых, неплохо бы сделать некий пример в ММВ по работес реестром либо с помошью твоего модуля, либо с помощью reg.exe.

Я уже сделал (писал тебе, что делал проекты, но не уточнил какие). Позже будет... Последние дни ох как занят...

Quote (as-master)
Тем более что узнать информацию о нем по типу reg /? не получается...

Да что ты говоришь!



Вечная память Андрею Сергееву!
 
as-masterДата: Суббота, 20 Января 2007, 19:13 | Сообщение # 23
Группа: Удаленные





Quote (Yuriy)
Quote (as-master) Тем более что узнать информацию о нем по типу reg /? не получается...

Да что ты говоришь!

Что есть, то и говорю. Не было бы так - не стал бы и писать.

Quote (Yuriy)
Я уже сделал

Это хорошо!

Quote (toizy)
Не мой ли копирайт?

Что значит "мой копирайт"?
В алфавите нет "моих букв"... вроде бы :о(

 
toizyДата: Воскресенье, 21 Января 2007, 11:40 | Сообщение # 24
Группа: Удаленные





Ну дык знак копирайта прицеплен, да и я, помнится, такое выраженьице пользовал. А мы не потерпим наглого плагиата, як у некоторых smile
Интеллектуальную собственность надо беречь. А права на выражение могу продать smile
Сорри за оффтоп

По теме - я согласен с Rush, модуль всё это умеет, только научиться пользоваться надо, а тады - вперёд... С другой стороны, утилитой reg.exe реестр не испортишь. А вот модуль или плагин...

 
VictorДата: Понедельник, 12 Февраля 2007, 15:55 | Сообщение # 25
MMB Club
Группа: Проверенные
Сообщений: 15
Репутация: 1
Награды: 0
Статус: Offline
Файлы ассоциировать можно с помощью командной строки командами Assoc и Ftype. Но что делать дальше? У меня имеется текстовый документ с расширением “xyz” я ассоциировал его с моей программой и он открывается с помощью нее, но как после этого узнать путь открываемого файла, чтобы поместить текст файла в текстовый блок?
 
as-masterДата: Понедельник, 12 Февраля 2007, 18:52 | Сообщение # 26
Группа: Удаленные





Quote (Victor)
как после этого узнать путь открываемого файла, чтобы поместить текст файла в текстовый блок?

Вопрос непонятен!

 
VictorДата: Понедельник, 12 Февраля 2007, 19:41 | Сообщение # 27
MMB Club
Группа: Проверенные
Сообщений: 15
Репутация: 1
Награды: 0
Статус: Offline
Мне нужно чтобы когда я открывал текстовый документ с помощью своей программы его содержимое автоматически загружалось в текстовый блок.
 
YURIYДата: Понедельник, 12 Февраля 2007, 19:51 | Сообщение # 28
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Victor, http://mmbuilder.ru/forum/12-206-1965-16-1169135937


Вечная память Андрею Сергееву!
 
VictorДата: Вторник, 13 Февраля 2007, 14:04 | Сообщение # 29
MMB Club
Группа: Проверенные
Сообщений: 15
Репутация: 1
Награды: 0
Статус: Offline
Теперь всё понятно, спасибо.
 
Форум MMB » Всё о программе Multimedia Builder » Общие вопросы по MMB » Ассоциация файлов с проектом MMB
  • Страница 1 из 1
  • 1
Поиск: