我正在尝试在 Windows CE 设备上设置自定义 URL 协议 (testProtocol)。当用户单击带有 testProtocol 的链接时,它将启动一个应用程序 (ParamTest.exe)。
我做了以下事情:
创建了一个 Windows 智能设备项目 -> 设备应用程序。
我更改了 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-type/额外的注册表项?任何帮助表示赞赏,因为这让我发疯!
我正在运行应用程序的系统上的操作系统版本是 5.0。