Создание пользовательских ссылок приложений (стиль ссылок ed2k) в C # - PullRequest
1 голос
/ 21 мая 2011

Я бы хотел создать способ перехвата «специальных ссылок» для моего приложения (например, myapp: // myinfo), как это делают приложения типа edonkey.

Прежде всего нужно зарегистрироваться, как описано, например, здесь , чтобы браузер в конечном итоге вызывал что-то вроде "yourapp.exe link".

Итак, у меня два вопроса:

  • Есть ли лучший способ создания "пользовательских ссылок", чем тот, который описан выше
  • Чтобы предотвратить запуск нового экземпляра приложения для каждой ссылки, какой механизм вы бы использовали лучше? (Я думаю о каком-то IPC, основанном на чем-то простом: поиск других экземпляров и, если они есть, отправьте команду (используя сокет или сообщение, или что-то еще)). Какой самый распространенный метод?

Спасибо !!

Ответы [ 3 ]

2 голосов
/ 21 мая 2011

Прочтите эту статью на MSDN , чтобы понять, как зарегистрировать ваше приложение в пользовательском протоколе в Windows.

1 голос
/ 22 мая 2011

Первый вопрос: связанный подход по сути правильный.Просто сделайте это программно - не запускайте reg-файл.

Второй вопрос: посмотрите этот пример , показывающий, как обнаружить несколько экземпляров и уведомить первый экземпляр.

1 голос
/ 21 мая 2011

Ссылка, которую вы предоставили при создании пользовательских ссылок, очень хороша ...

Второй вопрос ... ну, на мой взгляд, вы могли бы сделать два приложения:

  • Одно легкое приложение используется только для перенаправления на основное приложение.
  • Приложение, которое будет основным приложением.Основное приложение получает сообщения, отправленные из первого приложения.

Я бы не использовал сокеты, если только вы не хотите создать сервер загрузки, который может обрабатывать заказы на загрузку с нескольких компьютеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...