2

Windows CEデバイスでカスタムURLプロトコル(testProtocol)をセットアップしようとしています。ユーザーがtestProtocolのリンクをクリックすると、アプリケーション(ParamTest.exe)が起動します。

私は次のことをしました:

Windowsスマートデバイスプロジェクト->デバイスアプリケーションを作成しました。

Main()メソッドを変更して、プロトコルとともに渡される引数のstring[]を取得しました。

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/ extraレジストリエントリを設定する必要がありますか?これが私を怒らせているので、どんな助けにも感謝します!

アプリケーションを実行しているシステムのOSバージョンは5.0です。

4

1 に答える 1

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

于 2012-02-09T15:09:15.843 に答える