Last updated: "2002/11/19 18:32:59 +0900"

小松平良樹プレゼンツ

spawnExplorer


レジストリの書き換えでできてしまうのか...

レジストリの書き換えの情報

ちょっとでも応答を速くしようと、Windows98SE の環境でも Windows95 の explorer を 使ってみています。

Windows95 の explorer は Windows98SE のソレと比べると、 応答速度はよいのですが、ちょっと使いにくいところがありま す。それを改善しようという目論見です。

Windows98SE の explorer は、explorer 画面の左側、「ツリー 表示」のペインにて、フォルダを選んでマウス右クリック→ 「explorer」を選ぶと、選択したフォルダが別プロセス(?) の explorer で開かれます。

Windows95 の explorer で同様の事を行うと、同じプロセス(?) でフォルダが開かれます。

Windows95 の explorer で、Windows98SE のソレと同じことを するには、レジストリを書きかえればよいことがわかりました。 次のレジストリを regedit で import すればよろし。 というかダウンロードしてダブルクリックで OK のはず。 でも信用しないで中身を確認してからダブルクリックするのがよいと思うよ。 geocities は *.reg だとアップロードできないようなので LHA で圧縮しました。

spawnExplorer_20021119_00.lzh

困ったことは起こらないはずですが、利用は自己責任でお願いします。

レジストリが正しく反映されると、explorer 動作中のマウスの 右クリックに "spawnExplorer" という項目が現れます。ソレを選ぶと、 よさげな動きをするのではなかろうか。

謝辞

海人さん の情報を ほとんどそのまま勝手にパクらせていただきました。ごめんなさい。ありがとう。


20021106 わざわざ exe で動かしていた頃

こんな大層な (いや全然大層じゃないけど) なものを作る必要は全くなかった、 というのは上記の通り。 自分用のメモというかなんというか、せっかくなのでそのまま残してみますが、 無用な情報であるというコトはお気づきの通りであります。あほだ。

spawnExplorer_20021106_00.LZH

/*
  spawnExplorer.cpp

  Windows95 の explorer で、任意のフォルダを別プロセスの
  explorer で開く


  ■ background

    ちょっとでも応答を速くしようと、Windows98SE の環境でも
    Windows95 の explorer を使ってみています。

    Windows95 の explorer は Windows98SE のソレと比べると、
    応答速度はよいのですが、ちょっと使いにくいところがありま
    す。それを改善するためのモノです。


  ■ synopsis

    Windows98SE の explorer は、explorer 画面の左側、「ツリー
    表示」のペインにて、フォルダを選んでマウス右クリック→
    「explorer」を選ぶと、選択したフォルダが別プロセス(?) の
    explorer で開かれます。

    Windows95 の explorer で同様の事を行うと、同じプロセス(?)
    でフォルダが開かれます。

    Windows95 の explorer で、Windows98SE のソレと同じことをし
    たくて作ってみたのがこの spawnExplorer です。

    spawnExplorer.exe を c:\windows\sendto に置いておいて、
    explorer の「送る」から spawnExplorer に「送る」。すると、
    選んだフォルダが別プロセス(?) にて開かれます。


  ■ コンパイル環境

    Borland C++ 5.5.1 にてコンパイルしました。


  ■ 既知の不具合というか格好悪い動作

    * spawnExplorer 起動時に、MS-DOS プロンプトみたいな窓が
      開いて閉じます。これを抑制する方法を私は知りません。
      → 20021106 びいさんのアドバイスにより改善。


  ■ でも...

    こんなたいそうなものを作らなくてもよいことがわかりました。
    explorer /n,/e,"%1" というバッチファイルを作り、プロパティ
    でウィンドウの大きさ最小、終了時に自動的に閉じる、とする
    と、それで同じ働きをするのだ。

    あるいは WSH でもできることが判明。内容は全然理解してい
    ませんが、次のスクリプトで OK だ。
        Dim objShell
        Dim Arg
        Set Arg = WScript.Arguments
        Set objShell = Wscript.CreateObject("WScript.Shell")
        objShell.Exec("explorer.exe /n,/e," + Arg(0))
    WSH については T.Ogasawara さんからヒントをいただきまし
    た。ありがとうございます。


  ■ 履歴

  20021105 kmt-ysk@mx1.freemail.ne.jp
    初版 とりあえず作ってみた。

  20021106 kmt-ysk@mx1.freemail.ne.jp
    * Win32 コンソールアプリじゃなくて、Windows アプリとして、
      起動時の「コンソールウィンドウ」を出なくした。
      びいさんのアドバイスによる。ありがとうございます。
    * explorer へのオプションに /n を追加。そうしないと別プ
      ロセスにならないようだ。

 */




mail