◀一般トップへ
  • 597 関連付けツール叩いてみました
    • 598 Re:関連付けツール叩いてみました
      • 599 Re2:関連付けツール叩いてみました
        • 600 Re3:関連付けツール叩いてみました
          • 601 Re4:関連付けツール叩いてみました
            • 602 Re5:関連付けツール叩いてみました
              • 606 Re6:関連付けツール叩いてみました
                • 615 Re7:関連付けツール新Ver.
                  • 616 Re8:関連付けツール新Ver.
                    • 617 Re9:関連付けツール修正
                      • 621 Re10:関連付けツール修正
                  • 627 Re8:関連付けツール新Ver.
                    • 628 Re9:関連付けツール新Ver.
                      • 630 Re10:関連付けツール新Ver.
  • [597] 関連付けツール叩いてみました KENCH 2001年07月20日 12:01

    すいさんの作ったツール叩いてみました。
    あとテキストを読みました。
    ツールの趣旨や動作については全くの同感です。
    おそらく僕がエキスプローラーをメインのファイラーにしていたらそうすると思います。

    動作をレビューするためのツールということですので、画面インタフェース等については特にありません。
    動作(というかWindowsの仕様?)について3点ほど。

    1.全く関連付けされていない拡張子にこのツールで関連付けすると、ダブルクリックでサクラエディタが開くチェックをOFFにしていてもサクラエディタが開く。
     (これはWindowsの仕様なのかな?)
     あとアプリケーションから開くというのが無くなって「Sakura Editor」になりますが、アプリケーションから開くというメニューは生かした状態には出来ないのかな・・・

    2.関連付けされていない拡張子にこのツールで関連付けした後、手作業で別なツールに関連付けして、このツールで関連付けをOffにすると、あとで手作業で関連付けした内容が消えてしまう・・・
     これはバックアップから戻しているのでしょうがないのかしら、、、

    3.初回インストール時にはSakura.Iniが無いので、このツールでは関連付け動作できない。
     初回をどうするか考えないとだめですね(^_^;

    とりあえずこの3点です。
    • [598] Re:関連付けツール叩いてみました すい 2001年07月23日 21:46

      ▼ KENCHさん
      どうもです。 m(_ _)m

      > 1.全く関連付けされていない拡張子にこのツールで関連付けすると、ダブルクリックでサクラエディタが開くチェックをOFFにしていてもサクラエディタが開く。

      これは関連付け設定の状況(つまり環境)によって異なってきます。
      ・HKEY_CLASSES_ROOT\*\shell の下に何か設定されている。← その中で一番最初に定義された物が標準になる。
      ・↑の下には何も設定されていない。 ← 常にサクラエディタが標準になる。

      >  あとアプリケーションから開くというのが無くなって「Sakura Editor」になりますが、アプリケーションから開くというメニューは生かした状態には出来ないのかな・・・

      1.については両者共 Windows の仕様です。が。。。
      なるほど、「標準以外の時は“アプリケーションから開く”が標準になるようにする」ですか。それは考えつきませんでしたが、、、
      Win95 でなら、やろうと思えばできますが、私は他の OS 環境が無いので他の OS で“アプリケーションから開く”の設定がどうなっているか分かりません。
      「新規の関連付け時は Win95 向けの“アプリケーションから開く”の設定を追加してそれを標準に」という機能なら実装可能ですが、他の OS ではソレ(Win95 向けの“アプリケーションから開く”の設定)がどう働くか(何が発生するか)分かりません。 (^^;
      あ、単純に HKEY_CLASSES_ROOT\Unknown\shell\openas\c
      ommand の内容をコピーしてくれば良いのか。他の OS でも場所は同じなのだろうか?

      あと、そもそも“アプリケーションから開く”が出て来てくれるのが嬉しいのか?という根本的なお話しもあります。(;^^A

      > 2.関連付けされていない拡張子にこのツールで関連付けした後、手作業で別なツールに関連付けして、このツールで関連付けをOffにすると、あとで手作業で関連付けした内容が消えてしまう・・・

      ↑これは私もちょっと どうしようか悩んだのですが、「結論:ここは手抜き」という仕様になっております。 m(_ _;)m

      このツールで関連付けた後からアクションを追加した場合は、“このツールで作った事が分かっている範囲の情報”をバッサリ削除。
      後から追加されたレジストリ情報に関しては
      ・Win95系OS:後から追加されたレジストリ情報もバッサリ削除。
      ・WinNT系OS:後から追加されたレジストリ情報はゴミとして残る。
      となるハズです。(;^^A (Win95以外は実際の動作未確認ですが)

      ここはどうした方が良いでしょう? (^^;
      やはり、後から関連付けし直されていたら残す?(のが親切っぽいですね~~)

      ちなみに
      >  これはバックアップから戻しているのでしょうがない
      というような事はないです。 (^^;
      この場合はどういう動作をする仕様にしようか悩んだ結果、「手を抜いて最もお気楽な方向」に走ってみただけですので、10kmほど(フルマラソン比率)逆戻りしてコース修正して走り直せば済む事だと思いますので。(^^;
      # そんなに戻らないでも済むかも。

      > 3.初回インストール時にはSakura.Iniが無いので、このツールでは関連付け動作できない。
      >  初回をどうするか考えないとだめですね(^_^;

      む~~、あくまで「sakura.exe に取り込んで~~」というのが目的というか目標なので、それが達成されれば、そもそも「 sakura.ini を読込む」といった事自体が必要無くなるということで。(笑)
      • [599] Re2:関連付けツール叩いてみました KENCH 2001年07月24日 11:14

        > 1.については両者共 Windows の仕様です。が。。。
         ~中略~
        > あと、そもそも“アプリケーションから開く”が出て来てくれるのが嬉しいのか?という根本的なお話しもあります。(;^^A
         了解しました。
         現状のツールの制約なのか、Windowsの仕様なのか知りたかったまででして。

        > > 2.関連付けされていない拡張子にこのツールで関連付けした後、手作業で別なツールに関連付けして、このツールで関連付けをOffにすると、あとで手作業で関連付けした内容が消えてしまう・・・
        > ↑これは私もちょっと どうしようか悩んだのですが、「結論:ここは手抜き」という仕様になっております。 m(_ _;)m
         ~中略~
        > >  これはバックアップから戻しているのでしょうがない
        > というような事はないです。 (^^;
         「現状のツールがバックアップから戻している動作をしているのですよね?」
         と言うのを確認したかったまでです。
         今後の改修如何ではどうとでもなるということは認識しております。

        > む~~、あくまで「sakura.exe に取り込んで~~」というのが目的というか目標なので、それが達成されれば、そもそも「 sakura.ini を読込む」といった事自体が必要無くなるということで。(笑)
         ここがおそらく、すいさんとちょっと意見が分かれる所なんですが、関連付けって大概はインストール時に一度(それもバージンインストールの時ぐらい)やれば
         あとは殆どやらないのではないかなと思っているんです。
         (私の場合は、ファイラーを使うので全くやりませんけど)
         という前提で、sakura.exeに取り込むことで、あまり本体が肥大化するようであれば、あえて分けておいた方がいいのかなと私は思っています。
         (exeは同封して外部ヘルパーソフトにすると言う手も)

         本体に取り込むメリットとしては、
         ・拡張子の変更を行ったときにダイナミックに反映できる。
         ということがあるかと思いますが、一度設定すればそんなに変更しないのではないかなと、、、
         本体の動作に関係の無いところで不具合がでてバージョンアップすると言うのもねぇ、、、
         (あとは、外部プログラムなら私(DELPHI)でも作れるので(^_^;、VC++の環境は私も自分のパソコンに持ってないので・・・)
         如何でしょう?
        • [600] Re3:関連付けツール叩いてみました すい 2001年07月24日 21:50

          ▼ KENCHさん

             チョキチョキチョキ
              "(V)..(V)"
               ミ( 略 )ミ

          1,2は解決という事で略。

          > > む~~、あくまで「sakura.exe に取り込んで~~」というのが目的というか目標なので、それが達成されれば、そもそも「 sakura.ini を読込む」といった事自体が必要無くなるということで。(笑)
          >  ここがおそらく、すいさんとちょっと意見が分かれる所なんですが、関連付けって大概はインストール時に一度(それもバージンインストールの時ぐらい)やれば
          >  あとは殆どやらないのではないかなと思っているんです。
          >  (私の場合は、ファイラーを使うので全くやりませんけど)
          >  という前提で、sakura.exeに取り込むことで、あまり本体が肥大化するようであれば、あえて分けておいた方がいいのかなと私は思っています。
          >  (exeは同封して外部ヘルパーソフトにすると言う手も)
          >
          >  本体に取り込むメリットとしては、
          >  ・拡張子の変更を行ったときにダイナミックに反映できる。
          >  ということがあるかと思いますが、一度設定すればそんなに変更しないのではないかなと、、、
          >  本体の動作に関係の無いところで不具合がでてバージョンアップすると言うのもねぇ、、、
          >  (あとは、外部プログラムなら私(DELPHI)でも作れるので(^_^;、VC++の環境は私も自分のパソコンに持ってないので・・・)
          >  如何でしょう?

          確かに exe が肥大化する事は、私は *非常に* 気に入らないです。
          が、やはり本体のタイプ設定の内容変更とダイナミックに連動しないというのが何かとトラブルの元になる“致命的欠陥”と私は考えているんですよね。
          それに最近のアプリケーションの流れは「拡張子の関連付けは、気が向いた時に何時でもすぐに気軽に(環境を破壊の心配なしに)変更できる」という初心者にも優しい物が当たり前になって来ていますし。
          昔は↑こういう親切なの「フリーソフトウェアの GV くらいかな~~」とか思っていたんですけど、最近アレよコレよと言ううちに QuickTime とか Windows Media Player とか結構メジャーなソフトがどんどんこういう方向に改良されて来ていますし。
          そういう流れに乗り遅れるような気がして。もちろんそんな「世の流れは無視してドッシリ構える」というのも選択肢の1つなわけですが。

          う~~ん、どうしたもんでしょうねぇ。
          ま、私が悩んでもしょうがない事(sakura.exeのソースいじれないから私の意志によって sakura.exe に実装されることは絶対にない)ですが。 (^^;

          # あ、ちなみに私は
          # > 関連付けって大概はインストール時に一度(それもバージンインストールの時ぐらい)やればあとは殆どやらないのではないかな
          # とは思っていないんですよね。 (^^;
          # 気が向いた時(必要な時ですが)にコロコロ変えて使ったりしますし。
          # もちろん使い方が決まりきっている物はあまり(滅多に?)変えませんけど。
          • [601] Re4:関連付けツール叩いてみました KENCH 2001年07月25日 17:24

            > 1,2は解決という事で略。
             御意
            > が、やはり本体のタイプ設定の内容変更とダイナミックに連動しないというのが何かとトラブルの元になる“致命的欠陥”と私は考えているんですよね。
             ヘルパーアプリとして呼び出してもらうか、DLL化が美しいのかなぁ。
             DelphiでもDLL作れますが、GPLになってCとDelphiのソースが混在するのもねぇ(^_^;

             本体に組み入れてもらうのが一番かもしれませんけど、そうするとアンインストーラも自前で作らないとフリのインストーラソフトでは上手くレジストリを元に戻せないかもしれませんね。
             (これはちょっと辛いかも・・・)
             独立した外部アプリだと、フリーのインストーラでアンインストール時にオプション付きで起動してもらえれば、関連付けは戻せそうです。
             すいさんからみたら、そのばしのぎのお手軽方法かも知れませんけどね>外部アプリ
             でも私の力ではそのあたりで手一杯です。
             (そこまででも出来るかどうか(^_^;)

            > # > 関連付けって大概はインストール時に一度(それもバージンインストールの時ぐらい)やればあとは殆どやらないのではないかな
            > # とは思っていないんですよね。 (^^;
             っと、これも特に反論するつもりはないです。
             私はWindowsの関連付けやレジストリをいじるのがいやになってきたので、
             (例えばパソコンを買い換えたときにまた一からやるのもうんざりなので)
             別途ファイラーを使うようになってしまいました。
             (ま、DOSのころからのなじみの有るキーバインドで操作できると言うのももう一つの目的ですが)
             それでも、しょっちゅうは変えませんけどね(^_^;>関連付け
             なんか試したいソフトが出てきたときぐらいかな、動的にかえるのは。
            • [602] Re5:関連付けツール叩いてみました すい (管理者によるデータ復旧) 2001年07月25日 21:46

              ▼ KENCHさん
              > > が、やはり本体のタイプ設定の内容変更とダイナミックに連動しないというのが何かとトラブルの元になる“致命的欠陥”と私は考えているんですよね。
              >  ヘルパーアプリとして呼び出してもらうか、DLL化が美しいのかなぁ。
              >  DelphiでもDLL作れますが、GPLになってCとDelphiのソースが混在するのもねぇ(^_^;
              >
              >  本体に組み入れてもらうのが一番かもしれませんけど、そうするとアンインストーラも自前で作らないとフリのインストーラソフトでは上手くレジストリを元に戻せないかもしれませんね。
              >  (これはちょっと辛いかも・・・)
              >  独立した外部アプリだと、フリーのインストーラでアンインストール時にオプション付きで起動してもらえれば、関連付けは戻せそうです。
              >  すいさんからみたら、そのばしのぎのお手軽方法かも知れませんけどね>外部アプリ
              >  でも私の力ではそのあたりで手一杯です。
              >  (そこまででも出来るかどうか(^_^;)

              あ、それなら Sakura 用じゃなくて「拡張子連動機能 汎用DLL」作るのが面白そうですねん。「統合アーカイバDLL」やら JRE32.DLL みたいな。

              引数として
              ・コマンドライン
              ・拡張子
              ・連動設定用のキー名(私の SakuEXT.exe で言う "SakuraEditor" の部分)
              を渡す
              ・拡張子連動が設定されているかどうかを判定する
              ・拡張子連動を設定する
              ・拡張子連動を解除する
              という各種 API を持たせる。sakura.exe とは完全独立のフリーソフトウェアとして流通しそうですねん。(*^^*)
              sakura.exe は、↑その汎用 DLL を利用する単なるアプリケーションとする、と。

              ↑これと同機能の exe なら(上記引数はオプションパラメータ渡し)HSP でも簡単に作れますね。( LOADLIB.DLL 無しで動作する奴も作成可能。)
              DLL となると他の環境じゃないとダメか。BCC 5.5.1 なら作れたような気がするし。。。
              ただ、私が作るとすると次のお休み → 連休突入 → 日の目を見るのは早くても連休明け(もっと遅いか?) ですから KENCHさん どう?
              上手くすればヒットして人気物になるかもしれませんよ。(笑) (^^)b
              • [606] Re6:関連付けツール叩いてみました KENCH (管理者によるデータ復旧) 2001年07月30日 09:50

                > あ、それなら Sakura 用じゃなくて「拡張子連動機能 汎用DLL」作るのが面白そうですねん。「統合アーカイバDLL」やら JRE32.DLL みたいな。
                 いけそうですね。
                 (世の中にないのかなぁ、、、)
                 しかし、最近は、「DLL不要」がトレンドみたいですよね(^_^;
                 完全に開発者向け(フリーソフト配布者向け)かな。
                > DLL となると他の環境じゃないとダメか。BCC 5.5.1 なら作れたような気がするし。。。
                 作れますが、私はDelphiじゃないとつらいかも(^_^;

                > ただ、私が作るとすると次のお休み → 連休突入 → 日の目を見るのは早くても連休明け(もっと遅いか?) ですから KENCHさん どう?
                > 上手くすればヒットして人気物になるかもしれませんよ。(笑) (^^)b
                 なんかこの手のツールで人気者になると大変そうな気が(^_^;
                • [615] Re7:関連付けツール新Ver. すい 2001年08月07日 19:19

                  昨日、新版を junk に放り込んでおきました。( 復旧待ってました(^^; )

                  前回の物はレジストリ操作部を HSP独自の拡張関数でおこなっていたのを
                  ADVAPI32.DLL の Win32 API を直接叩いて操作するようにしました。
                  このため、C や何かに移植するのもかなり楽になることでしょう。

                  # 試しに汎用DLL 作成計画 (^^; を BCC 5.5.1 でやってみましたが、
                  # (まだ CheckExt と ExtDefault しか移植していないけど)
                  # API に対するオプションパラメータを渡す順番がちょっと違うので
                  # これを並べ替え、あと、文法の違い(注釈記述方法とか)を修正
                  # するだけできちんと動作しました。

                  直接 API でやっているので、前版の「消したくても消せないデータ」
                  の問題も解決。そして LOADLIB.DLL も不要(本体EXE のみで動作可)
                  になりました。

                  関連付け解除(削除)の方法をもうちょっとマトモにしました。

                  あと、戯れにコマンドラインからオプションパラメータ渡して任意の
                  アプリケーションの関連付けが出来るようにしました。
                  ユーザーインターフェース部もちょっと改良(という程でもないが)

                  他、ちょろちょろ変更。
                  そんなところ。
                  詳細は同梱のテキスト参照してね、という事で。

                  # ちょっと「RegOpenKey → RegOpenKeyEx にした方が良いかも」、とか、
                  # 「こういう場合は旧文字列を保存しなくても良いんじゃない?」とか
                  # その辺が気になりますが。
                  • [616] Re8:関連付けツール新Ver. すい 2001年08月07日 23:07

                    ▼ すいさん
                    > 昨日、新版を junk に放り込んでおきました。( 復旧待ってました(^^; )
                    >
                    > 前回の物はレジストリ操作部を HSP独自の拡張関数でおこなっていたのを
                    > ADVAPI32.DLL の Win32 API を直接叩いて操作するようにしました。

                    つらつら見直していたんですが、API の使い方間違っていそうな。
                    WinNT 系だと正常動作しない気が。 (;^^A
                    # RegSetValueEx あたり。

                    そもそも WinNT が手元に無いから確認できない。 (;^o^;)
                    • [617] Re9:関連付けツール修正 すい 2001年08月08日 20:44

                      ▼ すいさん
                      > ▼ すいさん
                      > > 前回の物はレジストリ操作部を HSP独自の拡張関数でおこなっていたのを
                      > > ADVAPI32.DLL の Win32 API を直接叩いて操作するようにしました。
                      >
                      > つらつら見直していたんですが、API の使い方間違っていそうな。
                      > WinNT 系だと正常動作しない気が。 (;^^A
                      > # RegSetValueEx あたり。

                      WinNT *3.51* ヽ(;^o^;ノ (しかもサーバー)が見つかったので試してみました。
                      やはりマズそうだった(Win95 では平気。NT3.51 ではマズひ~。他OSは知らない。)ので急遽修正した物をアップし直しました。
                      # 修正内容は...あまりに基本的な所で恥ずかしすぎ。
                      • [621] Re10:関連付けツール修正 KENCH 2001年08月13日 09:41

                        ▼ すいさん
                        > ▼ すいさん
                         お疲れ様です。
                         先週まで夏休み中だったのでほとんどパソコン触っていません。
                         BCCのDLLは外枠だけ作ってみたところでとまっています。
                         なんか助言できるところがあれば、たたいてみます。

                         ではでは。
                  • [627] Re8:関連付けツール新Ver. KENCH 2001年08月15日 19:15

                    ▼ すいさん
                    > 昨日、新版を junk に放り込んでおきました。( 復旧待ってました(^^; )
                     このツールをこのままパッケージ版に入れるのは、本位ではないんでしたっけ?

                     中身は別にして、外見で少々気になるところが、、、
                     まず、更新ボタンと、キャンセルボタンは欲しいです。
                     あと、拡張子は個別に選択したい感があります。

                     っと、これは、このままパッケージ版に入れるのを考えての話です。
                     あくまでサクラエディタに組み込んでもらうのが前提であれば、忘れてください。
                    • [628] Re9:関連付けツール新Ver. すい 2001年08月16日 21:00

                      ▼ KENCHさん
                      >  中身は別にして、外見で少々気になるところが、、、
                      >  まず、更新ボタンと、キャンセルボタンは欲しいです。

                      ↑こっちはまだ何とかなるとして、

                      >  あと、拡張子は個別に選択したい感があります。

                      ↑こっちはどうにも、というか、どういうデザインにすれば良いのかが思い付きません。
                      どういう画面(ボタンやらチェックボックスやらの配置)を想定してます?
                      # ひょっとして、今の「タイプ選択」の所をそのまま「拡張子を選択」にするだけ?

                      >  っと、これは、このままパッケージ版に入れるのを考えての話です。
                      >  あくまでサクラエディタに組み込んでもらうのが前提であれば、忘れてください。

                      なんだか ど~でも良くなってきちゃいました。(爆)
                      • [630] Re10:関連付けツール新Ver. KENCH 2001年08月17日 09:15


                        > >  あと、拡張子は個別に選択したい感があります。
                        > ↑こっちはどうにも、というか、どういうデザインにすれば良いのかが思い付きません。
                        > どういう画面(ボタンやらチェックボックスやらの配置)を想定してます?
                        > # ひょっとして、今の「タイプ選択」の所をそのまま「拡張子を選択」にするだけ?
                         えっと、もういっこリストボックス追加して、おのおのの行にチェックボックスがついているような感じ。
                         無理かな・・・
                         で、チェックボックスをもう一つ追加して、一括解除と一括選択があるやうな。

                        > なんだか ど~でも良くなってきちゃいました。(爆)
                         統合アーカイバプロジェクトみたいにDLLだけ一人歩きをはじめたり、はじめなかったり(笑)