改作前...▽
(←クリックで以下に詳細を、表示 / 隠す)
以下は、Windows用の、またはHTML用の、スクリプト
と、関連したプログラムとそのソース。
主に、Windows XP SP3 (IE 8.0) 上で作成。( 現在は、Windows 10 )
10年、15年と遅れていて、目新しい最新の技術のものはない。 バグも多い。
▶ を前に付けたリンクは ここでの別ページ、
付いてないリンクは 圧縮ファイル、を指している。
Chrome拡張機能:現在のHTMLのコピーなど
( zip
303 KB(310,456), バグ修正等 2023/11/12 )
現在のHTMLと付属ファイルリストのコピー(→それをHTAでダウンロード·保存)。その他
▶ 拡張機能のポップアップ.html
(ここで閲覧テスト、2022/05)
└これはどういうものかの提示のみ(参考迄のもの)。
拡張機能用なので殆どは動作しない。
ただ一部、[Readme]ボタンや、[Test..]の eval(script) などは動く。
文字の見分け
( zip
881 KB(902,807)、2010/7/25~、バグ修正等 2022/04/20 )
文字表と、
チベット文字、デーヴァナーガリー、タイ文字、ハングル、漢(汉)字
のローマ字または音標への転写と、入力。
▶ 文字の見分け
(ページ~ここで表示、修正 2021/06/15 )
チベット単語帳
( zip
758 KB(776,905)、修正 2023/09/13 (+11/08))
▶
チベット単語帳 ( ページ~ここで表示、
2019/07/18~、修正 2023/09/13 (+11/08))
簡易参照ノート
(JavaScript & HTML 編、他)
( zip
620 KB(635,679), 2013/12/~, 更新14/05,バグ等修正22/02/28)
ファイル処理類
( zip (utf-8)
557 KB(571,362)、2008/10~、修正2023/03/08 )
HTA, Windows専用。
ファイル一括作業(名前変更等、正規表現使用)、 任意の新規ファイル作成、
代用(相対パス)ショートカット、 RoboCopyの呼出し、 時刻印変更、
(HTA用の)プロセスの列挙・終了、 その他。
IE 用利便類
( zip (utf-8)
266 KB(272,952)、2010/1/31~、修正 2021/01/01)
HTA、Windows 専用。IE10(Windows7,8)以降、一部動作不全。
IE の表示しているページの保存。 リンク先の一括保存。
リンク先の一括読み込み(×)。 キャッシュからのファイル取り出し(×)。 履歴の書き出し。
拡張メニューの追加削除+レジストリ一般の読み書き
(+JS レジストリ操作ライブラリ)。
ブラウザ-スクリプト補助類
( zip
120 KB(123,675), 2012/02/29~, 更新 2017/02/05 )
ファイルのバイナリ読み取りテスト、テスト用入力欄、
値の見分、クリップボードで置換、
FlvPlayer
( zip
354 KB(363,179)、2009/10/02~、更新2012/06,再梱包17/1 )
※2021/01、死亡。Flash が排除され
IE,HTA でも動かなくなった!!!。
FLV 動画ファイルの プレーヤー (ローカルファイル用) ( Flash 使用)
ブラウザに Flash(プラグイン?)が必要 ! (HTML, HTA 兼用)
アイコンを受取る ActiveX コントロールの 通常(Delphi)版 を同梱
(他、以前のもの)
スクリプト(ブラウザ)利便
( zip (sjis)
357 KB、2008/10 ~ 2010/01 )
入力文の実行(評価)や、メンバ列挙(一覧)、各種の値の変換など。
IE・HTA以外では、フレーム間のスクリプトや、ローカルでの
XMLHttpRequestの制約で、動作に難あり。
全般的に破綻していると思う。一部は、「値の見分」に書き直した。
( '12/02/07、IE 9 の為少し修正。)
Unicode名での圧縮
( zip
1.10 MB(1,158,949), 2011/7/24, 変更 2017/07/12 )
( C++ )
圧縮ファイル( LZH, ZIP )に、ファイル名を、Unicode や、ロケールを違えて
入れてみる。自作ではなくて、山崎敏氏のコード~ → 奥村晴彦 山崎敏 著
「 LHAとZIP 圧縮アルゴリズム×プログラミング入門 」~
の一部を勝手に改造して、文字列の扱いを勉強したもの。
利用・改変・転写・転載など御自由にどうぞ。
(他から引用した箇所は別)
動作は全く保証できず、自身の責任というか裁量で使用して下さい。
HTML(HTA)や、readmeファイルにも説明を書いたが、詳細は、ソース中に。
※ ここに置いた ZIP の内、横に
(utf-8) と付記したものは、内部のファイル名が、UTF-8 エンコード、
(sjis) と付けたものは、Shift_JIS エンコードである。
何も記してないものは、ファイル名に、ASCII 以外の文字を使ってない。
UTF-8 のものは、Windows 8 以降なら、explorer で普通に開く事が出来るが、
XP, Vista 等では、UTF-8 エンコードに対応したソフトが必要。
SJIS の ZIP の解凍には、日本語(Shift_JIS)環境が必要かと思われる。
※ ブラウザで、ダウンロードした ZIP などのファイルには、
Alternate Data Stream とかの(explorerでは見えない)領域に、
Zone.Identifier という名前のデータが付加されて、
ZIP を explorer で展開すると、各ファイルにも付いてきて、
実行を妨げるようになっている。
( ファイルのプロパティの全般タブの下の方に、セキュリティ: … とあるなら、
そこで、□ 許可する にチェックすると、解除される。或いは、
NTFS でない、Alternate Data Stream の無いファイルシステム、
例えば FAT32 などへ 移/写せば、それらは落とされる。)
※ HTA で、反応しなくなった (入力を受け付けなくなった、フリーズ・暴走した) 場合。
タスク マネージャー の[プロセス]タブで、
Microsoft(R) HTML アプリケーション ホスト とあるもので、複数あるなら、
展開(頭の>をクリックなど)して、HTA のタイトルを確認し、
右クリックメニューを出して、タスクの終了(E) を。
以前の Windows では、タスク マネージャ の[アプリケーション]タブというのがあって、
しかし、そこに HTA のそれぞれは出なくて、[プロセス]タブには、
mshta.exe としかない。複数ある場合は、問題が起きているものは、
CPU(使用率)の列の値が異常に大きいだろうから、それを終了させる。
その後、何か問題が起きている、あるいは時間がかかっている時に、
「中止しますか」というようなダイアログが出るようになった。
ループ、フリーズ、暴走などしているなら有難いが、
ダウンロードや、他のコマンドの実行を待つような場合に、それが終わって、
次に結果をまとめ表示等しようとするときにも、そのダイアログが出る事があり、
ここで「はい」を押すと、待っていた事が御破算になったりもする。
※ 64ビットPCの HTA は、普通に開くと、32ビットで動く設定になっているようで、
レジストリの …\htafile\Shell\Open\Command に、SysWOW64 にある mshta.exe が
指定されている。が、64ビット用の System32 にも mshta.exe はある。
タスクマネージャの「プロセス」タブを見ると、32ビットなら、名前の後ろに、
(32ビット) とある。
`mshta.exe HTAファイル` とすると、(System32\ から探されて) 64ビットになる。
32ビットのプロセスから、`%SystemRoot%\System32\mshta.exe HTAファイル` と
実行しても、SysWOW64 から検索されて、32ビットなるらしい。
( 引数のHTAファイルは、拡張子が、.html などでもよい。)
( 32ビットのプロセスから、`%SystemRoot%\System32\….exe` を実行して、
その ….exe が、System32 には在るが、SysWOW64 に無い場合は、それを
起動できず、「見つからない」エラーになるよう。)
32ビットで充分ではと思ったりするが。
64ビットにした HTA の中で、32ビット(専用)の ActiveX(COM)コントロールを
指定しているなら、そのコントロールは使えない。
レジストリの …\htafile\Shell\Open\Command だが、引数の "%1" %* の間に、
以前には無かった
{1E460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1E460BD7-F1C3-4B2E-88BF-4E770A288AF5}
というのが、入っている。検索しても何だか分からない。
※ Windows のディスプレーの設定で、拡大している場合の HTA の表示の問題。
画面が小さいが、解像度が大きなディスプレーで、多分設定されている。
( システム>ディスプレイ、拡大縮小と…、テキスト、アプリ、その他の…。
あるいは、簡単操作>ディスプレイ、全体を大きくする、)
この場合に、HTA で、例えば、その windowサイズが小さかったり、テキスト入力欄
などのサイズが小さかったり、checkbox や radio が小さかったり。
これらは、そのサイズを px(ピクセル)指定している所で起きているが、
checkbox,radio は、サイズ無指定でも起きる。
HTA には、設定で拡大されていても、元の解像度の数値が使われている。
ブラウザでは、拡大の分、解像度は小さくなって、ピクセルは相対的に一定。
デフォルトの窓やその中の表示領域のサイズは、拡大されていると、
HTA ではとても大きなものになるが、ブラウザでは変わらない。
ブロック要素をサイズを指定して作り、要素.clientWidth を見ると、
拡大してない(拡大率100%)なら、1em(1文字の長さ)は 16px
200% の拡大率のとき、HTA では、1em は 32px になる。
ブラウザでは、16px のまま変わらない。
HTA,IE には window.screen に …XDPI, …YDPI というのがあり、
これで拡大率が分かるようである。
拡大といっても、窓内部の拡大縮小である [Ctrl]+[+/-/0/マウス・スクロール] なら、(1emが何pxかは)
HTA でも変わらない。この拡大では、表示領域のサイズは、相対的に小さくなる。
(ただ screen のサイズは、HTA では伴って小さくなるが、ブラウザでは元のまま。)
Windows のディスプレーの設定(簡単操作>ディスプレイ)には、
「文字を大きくする」というのもあるが、これは?
※ HTA で、そこに表示したもの(文字列)をコピーすると、改行が落とされてしまう事がある。
HTA や IE9(モード)以下では、PRE要素 や white-space: pre の要素 に、
スクリプトから、要素.innerText で書き込んだものが、そうなる様。
HTA,IE では、white-space: normal の要素に、.innerText で書き込んでも、
空白や改行が保たれ、この場合のは、コピーしても改行は落とされない。
(他のブラウザでは、空白(\x20)1つに丸められる。)
HTA,IE では、.innerText で書き込んだ、\t(タブ)文字は、空白(\x20)1ヶになる
(pre の要素でも)。
※ HTA を開いた時、文字の大きさが、突然今までと違うという事が稀にある。
ズーム[Ctrl]+[+/-/0/マウス・スクロール] で直そうとしても、2~3段階以上違うし、
入力要素と一般部分の大きさのバランスが直らない。
HTA のメニューなどには、これを修正できるものは無い。
HTMLブラウザの既定の文字の大きさの設定によるものであるが、
IE (Internet Explorer)では、[Alt]キーでメニューバーを出し、[表示(V)]->
文字のサイズ(X) に。多分普段は、ズームを使うので、忘れられていたりする。
拡張子 .chm のヘルプ(コンパイル済みHTMLヘルプ)で、ズーム(拡大縮小)でなく、
メニューで文字サイズを設定するもの(多分だいぶ古いもの)は、これを変更する。
(他には、MSDN ライブラリを見るための Microsoft Document Explorer
~ dexplore.exe というのもあった。)
これらで、文字サイズを変えると、その設定が、他に及ぶ。
インターネットのプロパティ(インターネット オプション) `control.exe inetcpl.cpl` は、
IE 11 をアンインストールしても残るが、これには、文字の大きさを変える箇所が無い。
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\International\Scripts]
レジストリのここに設定があるのだが、言語セット別のフォント設定と絡んでいる。
(→インターネットのプロパティ [全般]タブの デザイン [フォント(N)] )
ここでは(ファイルの)文字コード(charset)毎に、文字の大きさの設定がある。
日本語は […\24]、ラテン語ベースは […\3] にあり、IEFontSize 値(項目)が、
REG_BINARY(hex:)で、最小 00,00,00,00、小 01,00,00,00、中 02,00,00,00
大 03,00,00,00 最大 04,00,00,00 となるらしい。(サイズ変更をまだした事
のない言語(文字)セットでは、IEFontSize値(項目)は作られてない。)
IEFontSizePrivate という値(項)もあり、CHM(ヘルプ)からの変更では作成されないが、
IE から変更すると、IEFontSize と同じく変化する。多分 Private モード用で、
HTA や CHM などには影響しない。
他の項目(値)、IEPropFontName は、Web ページ フォント(Proportional Font)。
IEFixedFontName は、テキスト形式フォント(Fixed Font)。
中の値にすれば直る(リセットされる)が、その IEFontSize 値(項目)を削除する方が、
簡単だと思う。
日本語とは、日本語専用の文字コードを使っているという事で、ユニコードの類を
使っているなら、ここには入らない。ユニコードは、ラテン語ベースに含まれている。
例えば、SJISのヘルプ(chm)で設定を変えても、こちらが UTF-8 なら関係ないが、
Asciiのヘルプ(chm)で変えると、影響されてしまう。
charset(文字コード)毎の設定と言ったが、独自の文字セットを持たず、Unicode が使われる
言語セットも、含まれている。それらに文字の大きさを設定すると、何か効果あるのかは
不明。特定の文字種(コード範囲)のみ、大きさが変わるとかの便利な事は起きない様である。
この文字サイズ設定は多分、HTML要素の fontSize を決める。
document.documentElement.currentStyle.fontSize で見ると、
最小 9pt, 小 10pt(≒13px), 中 12pt(=16px), 大 14pt(=19px), 最大 16pt。
document.documentElement.style.fontSize ="12pt"; で中になる。
( ="16px" と指定するのは、HTA では px が相対値(論理値)でないので、
高DPI の PC などでまずい、のは既述。)
( ="medium" や ="1em" では、変わらない、或いは設定に戻ってしまう。)
入力要素類(テキスト入力欄やボタンなどの部品)は、これとは別で、10pt(≒13px)が
既定値のようである。(これらに、em や smaller などを使うと、一般部分の
大きさを継承させられるが、small,medium 等だと別?。)
style要素で、html { font-size: 12pt; } と書いて置くようにすれば、
文字サイズ設定から逃れる事ができる。
インターネットのプロパティ の[フォント]の隣、[ユーザー補助]に、
ユーザー スタイル シート があり、これに、それを書いて置けばだが、
HTA では、これを使わないようで、無効であった。
インターネットのプロパティ[詳細設定]タブの最後の方の群、ユーザー補助に、
「テキスト サイズを中にリセット」(21H1)、以前は、
「新しいウィンドウとタブでテキストを中サイズにリセットする」、これに
チェックして置くと、CHMヘルプや IE で文字サイズを変更したら、
直後に出した HTA では、サイズが引き継がれる(つまり一度は変更される?)が、
その次に出した HTA では、12pt(中)に戻るようである。
ズームの方は、リセットにチェック無くても、HTA では常にリセットされ、
拡大レベルを引き継ぐ事は出来ない様である。
履歴
2000.10.01 : 開設(http://yuriken.hoops.ne.jp/)
2002.10.~ : 移行(http://yuriken.hp.infoseek.co.jp/)
2008.10.末 : 5年ぶりに再開(更新)。
2010.10.末 : 閉鎖(infoseek-iswebの無料HPサービス終了)
2010.11.~ : FC2ホームページ
http(s)://kenzihtkym.web.fc2.com/
後から気付いたのだが、FC2(無料版)のヘルプを見ると、圧縮ファイルは ×
となっていて、そこには開くべきでなかったかも知れない。
2011. 9.~ : 忍者ホームページ
http(s)://kzhtk.dousetsu.com/