Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2011, 22:08   #1
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию Подобие магнет ссылок(как в DC++)

Подскажите как сделать для моей программы подобие магнет ссылок(как в DC++ чтобы в браузере пользователь кликнул по ссылке и она сразу предложила открыться в моей программе).
Заранее спасибо.
Crystallon вне форума Ответить с цитированием
Старый 06.05.2011, 03:45   #2
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Неужели никто о таком ничего не знает? Вот еще один пример таких ссылок:
http://store.steampowered.com/app/630/
нажмите на ссылку установить игру, в появившемся окошке если нажать "да у меня есть стим" перекинет на ссылку "steam://install/630"
Crystallon вне форума Ответить с цитированием
Старый 06.05.2011, 04:07   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

HKEY_CLASSES_ROOT\HTTP
попробуйте на примере(лишнее в принципе можно по убирать, важен раздел shell(да и там dde поидее не оч нужен вам) да и про расширения не нужно думаю)
да и вообще почитайте про файловые классы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.05.2011, 04:19   #4
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
HKEY_CLASSES_ROOT\HTTP
попробуйте на примере(лишнее в принципе можно по убирать, важен раздел shell(да и там dde поидее не оч нужен вам) да и про расширения не нужно думаю)
да и вообще почитайте про файловые классы.
За 5 минут до вашего сообщения сам нашел решил поискать слово "steam" в реестре и правильно решил) сделал на примере стима.
Теперь по ссылкам cap:// открывается через мою программу, но осталась маааленькая проблема...как внедрить в мою программу адекватную реакцию на эти ссылки(т.е. допустим из браузера передалось содержание ссылки, как мне его считать)?
Заранее благодарю за помощь, я уже как только с гуглом не извращался, вплоть до запроса "delphi url protocol", ничего стоящего не нашел =\
Crystallon вне форума Ответить с цитированием
Старый 06.05.2011, 04:22   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

читаем про ParamCount и ParamStr.
на вскидку так: (я просто сейчас не часто в Делфи пишу)
Код:
if ParamCount>0 then URL:=ParamStr(1);
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.05.2011, 04:41   #6
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
читаем про ParamCount и ParamStr.
на вскидку так: (я просто сейчас не часто в Делфи пишу)
Код:
if ParamCount>0 then URL:=ParamStr(1);
Огромное спасибо)
Crystallon вне форума Ответить с цитированием
Старый 06.05.2011, 05:02   #7
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Тут возник еще 1 вопросик ^^
Если программа уже открыта в момент перехода по ссылке, ссылка пытается открыть новую копию(что в моей программе конечно же невозможно и все что я вижу в этом случае это сообщение о том что программа уже запущена), как сделать чтобы в этом случае при запуске 2 копии программы она передавала параметры ранее запущенному процессу(мб это конечно как-то по другому делается но я не знаю по этому пишу так как думаю)?
Crystallon вне форума Ответить с цитированием
Старый 06.05.2011, 06:37   #8
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Все, вопрос закрыт, решил проблему созданием отдельного exeшника для реагирования на ссылки, в случае если сама программа не запущена на момент открытия ссылки запускает и передает параметр как есть, в случае если запущена передает параметр через TClientSocket.
Crystallon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как залить одним фоном несколько ссылок XYLIGANXYL Помощь студентам 0 28.01.2011 02:08
Как вывести список ссылок trad Общие вопросы C/C++ 0 14.12.2010 15:23
Как сделать подобие NOT NULL в DataGridView? C# Sparkman Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 18.08.2010 11:07
Как сравнить две звуковые волны (waves) на их подобие? SkAndrew Мультимедиа в Delphi 6 23.05.2009 21:32
как функции массивов и ссылок используется в программировании василисочка Помощь студентам 1 17.03.2009 15:39