Windows mobile 在Windows CE上设置自定义URL协议时出现问题

Windows mobile 在Windows CE上设置自定义URL协议时出现问题,windows-mobile,registry,url-protocol,Windows Mobile,Registry,Url Protocol,我正在尝试在Windows CE设备上设置自定义URL协议(testProtocol)。当用户单击带有testProtocol的链接时,它将启动一个应用程序(ParamTest.exe) 我已经做了以下工作: 已创建Windows智能设备项目->设备应用程序 我修改了Main()方法,以接受将随协议一起传递的参数字符串[]: public static void Main(string[] args) { } 因为这是一个测试,所以这个应用程序所做的就是将参数传递给一个显示参数的表单 接下来,

我正在尝试在Windows CE设备上设置自定义URL协议(testProtocol)。当用户单击带有testProtocol的链接时,它将启动一个应用程序(ParamTest.exe)

我已经做了以下工作:

已创建Windows智能设备项目->设备应用程序

我修改了Main()方法,以接受将随协议一起传递的参数字符串[]:

public static void Main(string[] args)
{ }
因为这是一个测试,所以这个应用程序所做的就是将参数传递给一个显示参数的表单

接下来,我在手机上设置了以下注册表项:

HKEY_LOCAL_MACHINE
  Software
    Microsoft
      Shell
        URLProtocols
          testProtocol

每当我导航到testProtocol:12345或testP时rotocol://54321 我得到以下错误:

“没有关联的应用程序 使用“testProtocol:12345”。运行 应用程序,然后打开此文件 从应用程序中删除。”

我可以通过导航到\Program Files\ParamTest\ParamTest.exe来运行应用程序。我制作了一个cab文件来安装该文件并生成所有注册表项,我已经使用CERegEditor工具验证了这些项是否正确

是否必须设置权限/mime类型/额外注册表项?感谢任何帮助,因为这让我发疯


我运行应用程序的系统上的操作系统版本是5.0。

不确定您的错误在哪里,从注册表设置的布局来看,您的
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

不确定错误在哪里,从注册表设置的布局来看,您的
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中打开此文件,使用参数
testprotocol:12345