はみ出しRAPTの戯言

- a day after yesterday -

目次

Blog 利用状況

ニュース

書庫

日記カテゴリ

コミュニティ リンク

[Vista] 関連づけ設定(2)

大雑把に言って、アプリケーションごとに下記の 2 つの設定を行います。
これらの作業を行なうには、昇格が必要となります。
その後で、実際にアプリケーションを使用するユーザーごとに関連づけの設定を行います。

  • HEKY_LOCAL_MACHINE にアプリケーションの基本情報を登録
  • HKEY_CLASSES_ROOT にプログラムID を登録

まず先に、表における用語定義。それぞれ、作成するアプリケーションに合わせて読み替えてください。

{Company}
社名。サンプルでは RAPT と表記しています。
{AppName}
アプリケーション名。サンプルでは DonutRAPT と表記しています。
{AppPath}
アプリケーションへのパス。C:\Program Files\RAPT\DonutRAPT\Donut.exe のように実行可能ファイルへの絶対パスが入ります。

また、サンプルとして、実際に拙作の Donut RAPT 用の関連づけ設定ツールで設定している内容の抜粋も記載します。
[レジストリキー] キー='値' の書式で記述していますが、実際には '値' の前後のシングルクォート(')は不要です。

  1. まず、既定のプログラムに表示するために必要なアプリケーション情報を登録します。
    レジストリキー 種類 名前
    HKLM SOFTWARE {Company} {AppName} Capabilities REG_SZ ApplicationName アプリケーション名
    REG_SZ ApplicationDescription アプリケーションの説明
  2. 次に、先ほど登録したアプリケーション情報の位置を下記の場所に記述します。
    これによって、既定のプログラムの一覧に項目が追加されます。
    レジストリキー 種類 名前
    HKLM SOFTWARE RegisteredApplications REG_SZ {AppName} SOFTWARE\{Company}\{AppName}\Capabilities
  3. 拡張子 .html と .url そして http プロトコルに対して関連づけを設定することを宣言します。
    なお、ここで MyApp.AssocFile.HTML などの値を特別にプログラムIDと呼称します。
    レジストリキー 種類 名前
    HKLM SOFTWARE {Company} {AppName} Capabilities FileAssociations REG_SZ .html MyApp.AssocFile.HTML
    REG_SZ .url MyApp.AssocFile.URL
    URLAssociations REG_SZ http MyApp.HTTP
  4. 上記で宣言したプログラムIDについて、個別に定義します。
    種類のうち、'REG_EXPAND_SZ' ってのは、値のうち、% で括られている部分を環境変数で展開して使用することを示します。
    'FriendlyTypeName' は、既定のプログラムで表示される種類についての説明です。
    'IsShortcut' はショートカットであることを示し、'NeverShowExt' は、拡張子を表示しないことを示します。
    これらの記述がないと、お気に入りなどで、タイトル.url などと表示されることになります。
    レジストリキー 種類 名前
    HKCR MyApp.AssocFile.HTML
    REG_SZ (標準) HTML Document
    REG_EXPAND_SZ FriendlyTypeName @%systemroot%\system32\ieframe.dll,-912
    shell open command REG_SZ (標準) "{AppPath}"
    {AppName}
    REG_SZ (標準) MyApp で開く
    command REG_SZ (標準) "{AppPath}"
    MyApp.AssocFile.URL
    REG_EXPAND_SZ FriendlyTypeName @%systemroot%\system32\ieframe.dll,-10046
    REG_DWORD EditFlags 2
    REG_SZ IsShortcut ※空文字列を設定
    REG_SZ NeverShowExt ※空文字列を設定
    shell open command REG_SZ (標準) "{AppPath}"
    {AppName}
    REG_SZ (標準) MyApp で開く
    command REG_SZ (標準) "{AppPath}"
    MyApp.HTTP
    REG_SZ (標準) URL:Hyper Text Transfer Protocol
    REG_EXPAND_SZ FriendlyTypeName @%systemroot%\system32\ieframe.dll,-903
    REG_DWORD EditFlags 2
    REG_SZ URL Protocol ※空文字列を設定
    shell open command REG_SZ (標準) "{AppPath}"
    {AppName}
    REG_SZ (標準) MyApp で開く
    command REG_SZ (標準) "{AppPath}"

これだけ登録できていれば、既定のプログラムにアプリケーションと関連づけ可能な一覧が追加されます。
あとはユーザーごとに関連づけの設定を行うだけです。
次はいよいよ、API でユーザーごとの関連づけを行なう方法を書きます。

[Vista] 関連づけ設定(1)
[Vista] 関連づけ設定(2)

投稿日時 : 2007年4月29日 3:58

コメントを追加

# re: [Vista] 関連づけ設定(2) 2007/04/29 18:49 RAPT

textarea のサイズ指定が無視された・・・

# re: [Vista] 関連づけ設定(2) 2007/04/30 15:38 とっちゃん

綺麗にまとめてあるなぁ...某リファレンスにそのまま反映してほしいぞwww

(4)くらいで、従来の場合はなんてのはないのでしょうか?w
msi はこれをサポートしてねーんだよな...orz
それとも、4.1とかでサポートするのかしら?w
あ、無理だ、言語依存だwww

真のMUIにならない限り無理ってことかぁ...w

# re: [Vista] 関連づけ設定(2) 2007/04/30 21:09 RAPT

えっと、従来の場合ってのは、Vista 以外で、ってことですか?

# re: [Vista] 関連づけ設定(2) 2007/04/30 21:27 とっちゃん

>Vista 以外
です。XPではというところですね...って同じだったような気も...w

前世紀の遺物については無視でOKですww
#使ってるところが悪いということでw<冷たいなぁw

あと、直接影響あるわけじゃないですが、verb(shell\{AppName}のところ)は、Open_{AppName}のほうがいいですよw
複数パターンがある場合(普通はあんまりない)に困らないですw

# re: [Vista] 関連づけ設定(2) 2007/04/30 21:58 RAPT

Windows 4.0~5.x(95,98,98SE,Me,NT4,2000,XP) については、関連づけは一緒にしても動作しますよ。
詳しくは Donut のソース見てくれってことで(ぉぃ

XP の制限ユーザーについては考慮したことないので(汗

verb で複数パターンがある場合って具体的にどのようなユースケースですか?

# re: [Vista] 関連づけ設定(2) 2007/04/30 23:12 とっちゃん

Verb の複数パターンとしては、msi で実際にやってますけど、一つのファイル形式に複数のモードと言うのがほしい時はあります。
数的には、それほどないんですけど、個人的にほしいツールとしては、
EXE/DLL に、リソースビュワー と、DependencyListとか...w

すんません。思いっきりニッチなネタですねwww
#ほしい人なんて、一つの会社に一人いれば多い方だwww

# re: [Vista] 関連づけ設定(2) 2007/05/01 1:26 RAPT

まぁ、その辺の応用は各人に任せるってことで(゜ー゜)ニヤソ

# re: [Vista] 関連づけ設定(2) 2007/05/01 15:04 とっちゃん

うわぁ~ん(;_;)切り捨てられた~w

# VSインストーラとx64と拡張子関連付けのすてきな関係 2007/08/13 16:24 中の技術日誌ブログ

VSインストーラとx64と拡張子関連付けのすてきな関係

# re: [Vista] 関連づけ設定(2) 2017/03/13 2:15 MILANA


私は、ブログ検索でいくつかの関連情報の検索中...あなたのこの記事を見つけました。その良いpost..keepの投稿や情報を更新します。

# re: [Vista] 関連づけ設定(2) 2018/07/18 11:06 zzyytt

http://www.vapormaxshoes.us
http://www.cheapoakley-sunglasses.us.org
http://www.basketball-shoes.us.com
http://www.chromeshearts.us.com
http://www.burberryoutlet-store.us.com
http://www.pandorabracelet.in.net

# Link exchange is nothing else however it is only placing the other person's website link on your page at suitable place and other person will also do same in support of you. 2019/05/03 11:17 Link exchange is nothing else however it is only p

Link exchange is nothing else however it is only placing the other person's website link
on your page at suitable place and other person will also do same in support of you.

# Wow, that's what I was searching for, what a data! present here at this website, thanks admin of this web site. 2019/05/05 20:10 Wow, that's what I was searching for, what a data

Wow, that's what I was searching for, what a data! present
here at this website, thanks admin of this web site.

# It's a pity you don't have a donate button! I'd certainly donate to this outstanding blog! I suppose for now i'll settle for bookmarking and adding your RSS feed to my Google account. I look forward to fresh updates and will share this site with my Fac 2019/05/09 13:04 It's a pity you don't have a donate button! I'd ce

It's a pity you don't have a donate button! I'd certainly donate to this outstanding blog!
I suppose for now i'll settle for bookmarking and adding your RSS feed to my Google account.
I look forward to fresh updates and will share this site with my
Facebook group. Talk soon!

# I am in fact glad to read this weblog posts which contains plenty of valuable facts, thanks for providing these data. 2019/05/11 8:31 I am in fact glad to read this weblog posts which

I am in fact glad to read this weblog posts which contains plenty of valuable
facts, thanks for providing these data.

# This post gives clear idea designed for the new users of blogging, that truly how to do blogging. 2019/05/14 13:20 This post gives clear idea designed for the new us

This post gives clear idea designed for the new users of blogging, that truly how to do blogging.

# Wow, this paragraph is fastidious, my younger sister is analyzing these things, thus I am going to convey her. 2019/06/02 16:15 Wow, this paragraph is fastidious, my younger sist

Wow, this paragraph is fastidious, my younger sister is analyzing these things, thus I am going to convey her.

# You made some decent points there. I checked on the web for more info about the issue and found most people will go along with your views on this web site. 2019/06/05 21:57 You made some decent points there. I checked on th

You made some decent points there. I checked on the web for
more info about the issue and found most people will go along with your views on this web site.

タイトル  
名前  
URL
コメント