Проблема с настройкой пользовательского протокола URL в Windows CE - PullRequest
2 голосов
/ 12 августа 2010

Я пытаюсь настроить пользовательский протокол URL (testProtocol) на устройстве Windows CE. Когда пользователь щелкает ссылку с помощью testProtocol, он запускает приложение (ParamTest.exe).

Я сделал следующее:

Создан проект Windows Smart Device -> Приложение устройства.

Я изменил метод Main () для получения строки [] аргументов, которые будут передаваться вместе с протоколом:

public static void Main(string[] args)
{ }

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

Далее я настроил следующие записи реестра на телефоне:

HKEY_LOCAL_MACHINE
  Software
    Microsoft
      Shell
        URLProtocols
          testProtocol

и

HKEY_CLASSES_ROOT
  testProtocol
    (Default) = "URL:Test Protocol"
    URL Protocol = ""
      Shell
        Open
          Command
            (Default) = "\Program Files\ParamTest\ParamTest.exe" "%1"

Каждый раз, когда я перехожу к testProtocol: 12345 или testProtocol: // 54321, я получаю следующую ошибку:

"Приложение не связано с "testProtocol: 12345". Запустить приложение, а затем откройте этот файл из приложения. "

Я могу запустить приложение, перейдя в папку \ Program Files \ ParamTest \ ParamTest.exe. Я создал файл cab для установки файла и внесения всех записей в реестр. Я подтвердил их правильность с помощью инструмента CERegEditor.

Нужно ли устанавливать разрешение / MIME-тип / дополнительную запись реестра? Любая помощь приветствуется, так как это сводит меня с ума!

Версия ОС в системе, в которой я запускаю приложение, - 5.0.

1 Ответ

0 голосов
/ 09 февраля 2012

Не уверен, где ваша ошибка, из макета настроек вашего реестра, может быть, ваш Shell подключ находится в неправильной позиции?

Вот как это работает для меня:

Сначала создайте следующие ключи и значения реестра:

[HKCR\testProtocol]
URL Protocol=""

[HKCR\testProtocol\Shell\Open\Command]
@=""\Program Files\ParamTest\ParamTest.exe" "%1""

[HKLM\software\microsoft\shell\urlprotocols\testProtocol]

Затем создайте тестовый HTML-файл:

<a href="testProtocol:12345">open 12345</a>

Затем откройте этот файл в Internet Explorer на моем устройстве, программа ParamTestвызывается с аргументом testprotocol:12345

...