- - PR -
XMLとアプリケーションの関連付けについて
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-05-20 22:20
こんばんわ
自作のアプリケーションでxmlファイルを作り、そのファイルを開いた時にそのアプリケーションが起動するようにしたいのですが(アイコンも自作のものにしたいです)、 何か良い方法はないでしょうか? Office2003のxmlファイルではXML宣言の後の <?mso-application progid="Word.Document"?> でアイコンやアプリケーションを区別しているようなのですが。 | ||||||||||||
|
投稿日時: 2004-05-21 01:16
諸農です。
起動って言うのはSHELLで起動って事ですよね? であれば、 HKEY_CLASSES_ROOTにある.xmlエントリの標準の所に ユニークな識別子をセットして、その識別子でエント リを作り、その配下にDefaultIconサブキーを作って アイコン情報を持つexeかdllを指定してアイコン番号 も指定し、\shell\open\commandサブキーも作って、 起動したいアプリへのパスを指定すればいいのでは無 いでしょうか。
浅学で申し訳ないのですが、ここで書かれているのは、 Office2003を入れるとSHELLがXMLファイルの中身を 分析するようになると言う事なんでしょうか? Office2003をまだ手に入れていないので判らないのですが、 FindExecutableを使うと何が返ってくるのか興味がありますね。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||||||
|
投稿日時: 2004-05-21 12:12
Jubeiさん、こんにちは。
レジストリを見ると、シェルエクステンションに IconHandler というのが登録されていました。 また、デフォルトで開くアプリケーションも書き換えられており、ここで指定されたEXEが件のタグを見て、ExcelとかWordとかを呼び出しているみたいです。 | ||||||||||||
|
投稿日時: 2004-05-21 14:00
諸農です。
情報ありがとうございます。
となると、先の私の発言での強制的なやり方だとまずいですね。。 元投稿者の方の意見の通り、XML内にレジストリに登録した自前の アプリのIDを記述するという方法を採用するということになりそ うですね。。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||||||
|
投稿日時: 2004-05-21 22:40
引用:
------------------------------------------------------------------------------- レジストリを見ると、シェルエクステンションに IconHandler というのが登録されていました。 また、デフォルトで開くアプリケーションも書き換えられており、ここで指定されたEXEが件のタグを見て、ExcelとかWordとかを呼び出しているみたいです。 ------------------------------------------------------------------------------- 引用 となると、先の私の発言での強制的なやり方だとまずいですね。。 元投稿者の方の意見の通り、XML内にレジストリに登録した自前の アプリのIDを記述するという方法を採用するということになりそ うですね。。 ------------------------------------------------------------------------------- こんばんわ お返事ありがとうございます。 いやはや・・・初心者の私には難しすぎて・・・ 「XML内にレジストリに登録した自前の アプリのIDを記述するという方法」 と教えていただいても・・・つまりどうすればよい? って感じになってしまいます。すいません。 普通のファイルのように専用のアイコンが表示され、 ダブルクリックでそのアプリケーションが起動できるようにしたいのですが、 「レジストリを見ると、シェルエクステンションに IconHandler というのが登録されていました。 」 という書込みから想像するに、Office2003がインストールされていないと、 私のやりたいことはできないっていうことなのでしょうか? | ||||||||||||
|
投稿日時: 2004-05-22 01:27
拡張子はxmlでないと駄目なんでしょうか? 独自に拡張子を決めた方が無難のような気がしますが… | ||||||||||||
|
投稿日時: 2004-05-22 06:57
諸農です。
先の投稿にも書いたように、呼び出したいアプリを レジストリに登録して、そのエントリを <?mso-application progid="Word.Document"?> のWord.Documentの替わりに記述すればいいのでは?
Office2003との関連づけを失ってもいいのであれば、 .xmlのエントリの標準の所に、起動したいアプリ用で登録した キーに書き換えればいいです。
ん? もしも、理解し難い部分があるのでしたら、 こんなことは避けた方がいいかと思われます。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||||||
|
投稿日時: 2004-05-23 01:00
Jubeiさん、こんばんは。
いや、どうもOfficeアプリケーションの場合のみ有効のようです。 期待させてすみません>ひろこさん |