Вверх ↑
Этот топик читают: Гость
Ответов: 246
Рейтинг: 13
#1: 2010-06-08 13:41:22 ЛС | профиль | цитата
Где в реестре прописываются ассоциации файлов с определенной программой и как сама программа получает данные о местонахождении файла при его запуске? Также интересует где прописать и что, что-б ссылки в браузере типа [имя сервиса]:*** отправлялись программе и как потом программа это узнает. Желательно пример.
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2010-06-08 13:42:49 ЛС | профиль | цитата
Hardcore писал(а):
Где в реестре прописываются ассоциации файлов с определенной программой и как сама программа получает данные о местонахождении файла при его запуске?

Где-то в разделе схемы (на первых 2-3 страницах) есть схема плеера PMPlayer - посмотри
карма: 10
0
Ответов: 246
Рейтинг: 13
#3: 2010-06-08 13:50:23 ЛС | профиль | цитата
Assasin, спасибо
А как на счет остального?
Hardcore писал(а):
Также интересует где прописать и что, что-б ссылки в браузере типа [имя сервиса]:*** отправлялись программе

карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#4: 2010-06-08 13:58:12 ЛС | профиль | цитата
Hardcore писал(а):
А как на счет остального?

А это вообще возможно
карма: 22

0
Ответов: 4631
Рейтинг: 749
#5: 2010-06-08 13:58:42 ЛС | профиль | цитата
Допустим, тебе нужно зарегистрировать расширение *.bbb

Создаешь в реестре раздел
HKEY_CLASSES_ROOT.bbbshellopencommand
В параметр по умолчанию этого раздела заносишь путь к
своей программе и через пробел добавляешь %1, например:
c:myprog.exe %1
Получить имя файла в своей программе можно так:

Add(MainForm,2953706,21,105)
{
Height=92
Position=1
link(onCreate,12111957:doRead,[])
}
Add(Edit,15697437,175,119)
{
Left=10
Top=30
Width=365
Text=""
}
Add(Label,6161188,21,154)
{
Left=10
Top=10
Width=64
Height=17
Caption="Имя файла:"
}
Add(Application,12214025,105,56)
{
}
Add(ArrayRW,12111957,112,119)
{
Index=Integer(0)
link(onRead,15697437:doText,[])
link(Array,12214025:Params,[])
}

карма: 26

0
Ответов: 1161
Рейтинг: 160
#6: 2010-06-08 14:08:23 ЛС | профиль | цитата
nesco писал(а):
А это вообще возможно

Тоже этим заинтересовался... сейчас попробую что-нибудь набросать...
------------ Дoбавленo в 14.08:
Хм... интересно, никто не знает, что выполняют библиотеки hlink.dll и urlmon.dll?
карма: 0

0
Ответов: 970
Рейтинг: 270
#7: 2010-06-08 14:17:44 ЛС | профиль | цитата
Раз в панели управления Windows можно настроить, значит можно, наверное, и из другого места

scr
карма: 0

0
файлы: 1typedffg.png [14.4KB] [160]
Ответов: 1161
Рейтинг: 160
#8: 2010-06-08 14:22:49 ЛС | профиль | цитата
Ну вот. Хотя у меня получилось только открыть HiAsm из браузера, но открыть конкретный проект...
code_18757.txt
карма: 0

0
файлы: 1code_18757.txt [3.5KB] [134]
Разработчик
Ответов: 26170
Рейтинг: 2127
#9: 2010-06-08 14:27:18 ЛС | профиль | цитата
Genius писал(а):
Раз в панели управления Windows можно настроить, значит можно, наверное, и из другого места

И причем здесь это, когда вопрос был конкретный
Hardcore писал(а):
Также интересует где прописать и что, что-б ссылки в браузере типа [имя сервиса]:*** отправлялись программе и как потом программа это узнает. Желательно пример

Те, насколько я понял -- параметры из одного приложения (браузера) должны передаваться другому приложению (сервису). Вот я и задал вопрос
nesco писал(а):
А это вообще возможно
Те, поддерживает ли браузер передачу параметров другому приложению
------------ Дoбавленo в 14.26:
LainX писал(а):
Хотя у меня получилось только открыть HiAsm из браузера

Хорошо, а почему именно так, а не как просили [имя сервиса]:***, и где там передача парметров, только запуск приложения
------------ Дoбавленo в 14.27:
LainX писал(а):
Хотя у меня получилось только открыть HiAsm из браузера

Хорошо, а почему именно так, а не как просили [имя сервиса]:***, и где там передача парметров, только запуск приложения
карма: 22

0
Ответов: 246
Рейтинг: 13
#10: 2010-06-08 14:51:58 ЛС | профиль | цитата
nesco, LainX сделал все как надо, только осталось еще передачу параметров и вопрос решен.
карма: 0

0
Ответов: 1161
Рейтинг: 160
#11: 2010-06-08 15:18:54 ЛС | профиль | цитата
nesco писал(а):
Хорошо, а почему именно так, а не как просили [имя сервиса]:***, и где там передача парметров, только запуск приложения

Тестировал то я на HiAsm'е, а он видимо ссылку hiasm://*/ за файл не принял и поэтому то и не открыл
Попробовал с такой программкой:
code_18758.txt
Так она спокойно в сообщении выдала hiasm://*/, что соответсвует
Hardcore писал(а):
осталось еще передачу параметров

карма: 0

0
файлы: 1code_18758.txt [271B] [82]
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)