[リストへもどる]
一括表示
タイトルInternet Explorer で XBM 画像を表示
記事No1850
投稿日: 2008/12/29(Mon) 22:02:37
投稿者xbm
参照先http://www.cam.hi-ho.ne.jp/mendoxi/bug/xbm.html
URL を参考に適当に書いてみました。添削していただいて、networkie.rsc あたりに収録していただければ幸いです。

Checkbox( "BlockXBM_Flag", 0, dhelps$("XBM 画像の表示を有効にする(&B)"),
@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Security", "BlockXBM", 0, 1 )
dhelp$("インターネットエクスプローラで XBM 画像を表示できるようにする。脆弱性に留意。")

参考 URL では XP SP2 以降を基にしていますが、W2kSP4 上の IE6SP1 でも表示できないことから、iever >= 6 くらいが妥当?

# ついでに要望ですが、環境変数に関する設定もほしいです。

タイトルRe: Internet Explorer で XBM 画像を表示
記事No1851
投稿日: 2008/12/29(Mon) 22:51:26
投稿者Ayacy
参照先http://www.yoshibaworks.com/ayacy/inasoft/
ご要望ありがとうございます。

なお、アクセラレータキーのB(&Bの部分)はすでに使用済みなため(現在、&Bを使用している項目は使用環境が限られているため、お使いの環境では表示されていないのかもしれません)、ここに関しては別のキーに割り当てを変更したいと思います。


> # ついでに要望ですが、環境変数に関する設定もほしいです。

環境変数に関する設定は、コントロールパネルの「システム」のプロパティから普通に変更可能なため、あえて本ソフトで追加する必要はないのではないかな、と考えております。

タイトルRe: Internet Explorer で XBM 画像を表示
記事No1853
投稿日: 2008/12/30(Tue) 16:09:11
投稿者Ayacy
参照先http://www.yoshibaworks.com/ayacy/inasoft/
BlockXBMについて、networkie.rsc へ設定を追加してみましたのでご確認をお願いします。

http://www.yoshibaworks.com/ayacy/inasoft/rnsf7.html#beta

なお、色々なOSで調べてみたところ、Internet Explorer 6以上をインストールしていれば、Windows 98でもWindows Meでも有効なようです。
(IE7搭載のWindows XP/Vistaでも、もちろん有効でした)

それでは、今後ともどうぞよろしくお願いいたします。

タイトルRe^2: Internet Explorer で XBM 画像を表示
記事No1864
投稿日: 2009/01/03(Sat) 08:42:45
投稿者xbm
> BlockXBMについて、networkie.rsc へ設定を追加してみましたのでご確認をお願いします。
> なお、色々なOSで調べてみたところ、Internet Explorer 6以上をインストールしていれば、Windows 98でもWindows Meでも有効なようです。
> (IE7搭載のWindows XP/Vistaでも、もちろん有効でした)
確認しました。取り込んでいただきありがとうございます。また多くの環境で確認していただき恐縮です。

> 環境変数に関する設定は、コントロールパネルの「システム」のプロパティから普通に変更可能なため、あえて本ソフトで追加する必要はないのではないかな、と考えております。
オリジナルの不便さは kentaro nagai(nighthawk) 氏が配布していた env.cpl、
http://tidbits.sakura.ne.jp/trac/
(残念ながら現在配布されていません。)
むねピ! 氏が配布している eve などのように
http://www.munepi.com/software/eve.html
";" を区切りとして一行一レコードのように編集できない点にあります。
これらのようなものがあれば便利かと思い提案させていただきました。ご検討いただければ幸いです。

タイトルRe^3: Internet Explorer で XBM 画像を表示
記事No1865
投稿日: 2009/01/03(Sat) 13:17:30
投稿者Ayacy
参照先http://www.yoshibaworks.com/ayacy/inasoft/
> ";" を区切りとして一行一レコードのように編集できない点にあります。
> これらのようなものがあれば便利かと思い提案させていただきました。ご検討いただければ幸いです。

なるほど。そういうことでしたか。
ようやく意味がわかりました。

ただ、本ソフトでも、複数項目の場合は一行でズラーッと編集するスタイルしか持っていないことと、それから
";"(セミコロン区切り)というのは環境変数Pathのことだと思うのですが、それ以外に複数項目のものがあった場合に、どれがどうだかわからない(環境変数を使うプログラム側に依存してしまう)という問題があります。
つまり、環境変数全体として、一般ルールを定められません。

例えば、PathとPATHEXTはセミコロン区切りだろうな、ということは解釈できますが、他の環境変数にセミコロンがあったとした場合、それは必ず区切り記号として解釈しても良いのか? 実はカンマが区切り記号になっている項目もあるのではないか? など。

となると、カンマで探すと PROCESSOR_IDENTIFIER が出てくるが、このカンマは果たして区切り記号なのか? など。

また、フォルダ名には";"を含むことができますが、これを含むフォルダを環境変数TEMPに指定した場合、それは区切りとみなされてはなりませんが、「";"で区切り」というルールを設けると、";"は消えてそこで改行されることになってしまうことになるかと思います。

TEMPだけ特別に「何があっても区切らない」というルールにすべきか、あとはどれだけ多くの項目で特別ルールを増やしていくことになるのか。

あるは逆に、PathとPATHEXTだけ特別に「";"セミコロンがあったら区切る」という特別ルールにしてしまうか。こうすると逆に、この特別ルールを採用すべき項目はあとどれくらいあるか不明とならないか。

とまぁ、例が長くなりましたが、環境変数の一般論として作ろうとすると、プログラムとして動きを定義することができなくなってしまいますので、いくつかの「決め」が必要になるかと思います。
(例えば、前に例として出していただいたソフトウェアのうち2つめの場合、PathとIncludeは特別ルールという仕組みになっているように思われます。他についてはわかりませんが、あるかもしれませんし、ないかもしれません。その場合に何区切りになるかもわかりません)
そのあたり、どうしたいでしょうか。

タイトルRe^4: Internet Explorer で XBM 画像を表示
記事No1879
投稿日: 2009/01/12(Mon) 19:42:22
投稿者xbm
単純に考えていたのですが、確かに考えてみれば複雑な問題です。

Windows(含 DOS 環境?)上の環境変数において、値に複数のエントリを含める場合、";" を用いるのはいわゆるデファクトスタンダードだと考えています。ご指摘の PATH や PATHEXT, include のみならず lib や CLASSPATH も区切りに ";" を用います。その他にも Ghostscript という PostScript インタープリターにおいては GS_LIB という変数も使われていましたが、これも同様です。(最近の版では不要になっていますが。)
あくまで私が知っている範囲の話なので、";" 以外を区切り文字として使用する変数がないといえないのも確かですが、よく知られている環境変数として区切り文字に ";" を用いるものがないということも確かではないでしょうか。
# 前回投稿で例として挙げたソフトウェアは両者とも ";" を区切りに用いることを前提としているようです。

例外についてのご懸念は、PROCESSOR_IDENTIFIER などはユーザーが変更するべき値なのかということ、";" を含むようなフォルダを環境変数に設定するべきなのかという、運用に関する議論だと思います。
# デバッグ用途などで変更、設定することはあるかもしれません。


以上をふまえ、慎重に実装するとしてこんなのはどうでしょうか。

+-------+----------+--------------+
| 変数名|        値|例外区切り文字|
+-------+----------+--------------+
|   path|  foo;bar;|              |
+-------+----------+--------------+
|example|  foo.bar.|             .|
+-------+----------+--------------+
|   TEMP|C:\fol;der|       <false>|
+-------+----------+--------------+
# 崩れてしまうので適宜スペースを補ってください。

何も値が与えられなければ ";" を区切りとして暗黙に用い、値が与えられればそれを区切り文字として用いる。値に ";" を含むようなもののために、展開させない設定も必要でしょうか。

# 自前で実装を試みようとしましたが、時間切れとなってしまいました…。

タイトルRe^5: Internet Explorer で XBM 画像を表示
記事No1880
投稿日: 2009/01/12(Mon) 21:45:39
投稿者Ayacy
参照先http://www.yoshibaworks.com/ayacy/inasoft/
お考えいただいたようで、ありがとうございます。

ところでお返事を理解していく上で、ちょっとわからなかったのですが、

> +-------+----------+--------------+
> | 変数名| 値|例外区切り文字|
> +-------+----------+--------------+
> | path| foo;bar;| |
> +-------+----------+--------------+
> |example| foo.bar.| .|
> +-------+----------+--------------+
> | TEMP|C:\fol;der| <false>|
> +-------+----------+--------------+
> 何も値が与えられなければ ";" を区切りとして暗黙に用い、値が与えられればそれを区切り文字として用いる。


上の表は、何を示すものになりますでしょうか?
(現状のいじくるつくーるのどこかに、上の表のような何かを代入することになるのですか?)
また「値が与えられれば」というのは、どこへ与えることを示しているでしょうか?

すみませんが、補足の方、よろしくお願いします。

タイトルRe^6: Internet Explorer で XBM 画像を表示
記事No1881
投稿日: 2009/01/14(Wed) 18:46:17
投稿者xbm
> > +-------+----------+--------------+
> > | 変数名| 値|例外区切り文字|
> > +-------+----------+--------------+
> > | path| foo;bar;| |
> > +-------+----------+--------------+
> > |example| foo.bar.| .|
> > +-------+----------+--------------+
> > | TEMP|C:\fol;der| <false>|
> > +-------+----------+--------------+
> > 何も値が与えられなければ ";" を区切りとして暗黙に用い、値が与えられればそれを区切り文字として用いる。
> すみませんが、補足の方、よろしくお願いします。

わかりにくい説明で申し訳ありません。
上の図表はリストビューコントロールをイメージしていただければと思います。
環境変数をレジストリキーから読み込む際に、各変数名に対する例外区切り文字をいじくるつくーるにて保持します。
ユーザーが明示した設定があればその文字を用い(*1)、
設定が見つからない、もしくは設定されていなければ ";" を初期値として用い一行一レコード形式として展開させます(*2)。
*1: 図表で "example" の行。"." を区切りとして展開される。
*2: 図表で "path" の行。設定なしなので ";" を区切りとして展開される。
";" を区切りとして用いたくない場合のために何らかの設定が必要かもしれません。そのための例が図表の "TEMP" 行における <false> です。この時、値は展開されず表示されます。

例外区切り文字はユーザーにより設定されます。この時、例外区切り文字の入力は、環境変数の入力と分ける必要があるかもしれません。
たとえば図表の "TEMP" の例では ";" を含む値を含んでいるので展開してほしくないわけですが、例外区切り文字がユーザーによって設定される前ですので、例外区切り文字と環境変数の入力が同時に表示されると値が破壊されてしまいます。

設定された例外区切り文字はいじくるつくーる側にて保存しておく必要があります。(レジストリもしくはiniファイルなどに)

以上のようなものを想像(実装を試みて挫折)しておりました。

至らないところがあればご指摘ください。

タイトル環境変数の編集
記事No1882
投稿日: 2009/01/14(Wed) 23:01:51
投稿者Ayacy
参照先http://www.yoshibaworks.com/ayacy/inasoft/
なるほど。
よくわかりました。
実装を考えてみたいと思います。

今のところ、いじくるつくーるの既存の仕組み(ValueList)をなるべく活用したいことと、「区切りのデフォルトを";"とすべきか<false>とすべきか」については要検討としたいことから、最適な形を色々と考えてみたいと思います。

ありがとうございました。

タイトルRe: 環境変数の編集
記事No1883
投稿日: 2009/01/15(Thu) 07:22:07
投稿者Ayacy
参照先http://www.yoshibaworks.com/ayacy/inasoft/
実装の形としては、こんな感じにしてみました。

http://park21.wakwak.com/~ayacy/inasoft/rnsf7.67.05beta_x86.exe

区切り文字は、いじくるつくーるのレジストリで管理し、デフォルトは「なし」になります。(1行編集モード)
その代わり、PATH, INCLUDE, LIB, PATHEXT, CLASSPATH については、あらかじめ区切り文字として ";"(セミコロン)を登録済みとしてあります。

※本バージョンは公開前のβ版で、デバッグされていないものです。レジストリをバックアップしてからお使い下さい。

タイトルRe^2: 環境変数の編集
記事No1888
投稿日: 2009/01/16(Fri) 18:13:42
投稿者xbm
> 実装の形としては、こんな感じにしてみました。

素晴らしい!
提案させていただいたものより、より良い実装だと思います。
ますます便利に使わせていただきます。
あまり必要ないかもしれませんが、
RegWriteString(EnvDelimKey$, "GS_LIB", ";")
があってもよいかもしれません。
# GS_LIB は Ghostscript に関するディレクトリを指定するための環境変数「でした」。最近の版では必要なくなっています。

正式版に向けて、お手間をふやすようですが winntlogon.rsc に追加希望。
// http://support.microsoft.com/kb/184831/ja
checkbox( "RASDisable", 0, dhelps$("ログオンダイアログに「ダイヤルアップ接続を使用してログオンする」を表示しない。"), WLKEY$, "RASDisable", CHECK_SZ01 )
// http://support.microsoft.com/kb/172125/ja
checkbox( "RASForce", 0, dhelps$("ログオン時に「ダイヤルアップ接続を使用してログオンする」を強制する。"), WLKEY$, "RASForce", CHECK_SZ01 )

タイトルRe^3: 環境変数の編集
記事No1890
投稿日: 2009/01/17(Sat) 00:45:57
投稿者Ayacy
参照先http://www.yoshibaworks.com/ayacy/inasoft/
ご確認ありがとうございます。
この形で行きたいと思います。

> RegWriteString(EnvDelimKey$, "GS_LIB", ";")

こちらも追加しようと思います。
ただし、このRegWriteStringが動く条件は、EnvDelimKey$で示されるキーがレジストリ中に存在していないこととなるのですが、本スクリプトを一度でも流すとEnvDelimKey$が作られてしまいます。そのため、お使いの環境でGS_LIB値を作るには、EnvDelimKey$で示されるキーを削除する必要があります。(もしくは、GS_LIBを自力で追加するのでも可です)

> 正式版に向けて、お手間をふやすようですが winntlogon.rsc に追加希望。
> // http://support.microsoft.com/kb/184831/ja
> checkbox( "RASDisable", 0, dhelps$("ログオンダイアログに「ダイヤルアップ接続を使用してログオンする」を表示しない。"), WLKEY$, "RASDisable", CHECK_SZ01 )
> // http://support.microsoft.com/kb/172125/ja
> checkbox( "RASForce", 0, dhelps$("ログオン時に「ダイヤルアップ接続を使用してログオンする」を強制する。"), WLKEY$, "RASForce", CHECK_SZ01 )

ありがとうございます。
こちらも追加しようと思います。

この他、キーワードファイル(rky)のサイズ圧縮や、Windows 7対応に向けた下準備などを盛り込んで、次のβ版の形としていきたいと思います。