WindowsNT/2k環境向上

 

トップページに戻る

WindowsNT/Windows2000で少しでも開発環境をよくするためのメモ



コマンド環境

コンソールを使いやすくする

コンソールウィンドウで画面外に消えた過去の表示をスクロールで見る

コントロールパネル→コンソールで「コンソールウィンドウのプロパティ」ダイアログを開く。レイアウトタブを選択し、画面バッファのサイズで高さを増やす(たとえば9999)。

コンソールウィンドウ上のある文字列をカット&ペーストする

コンソールウィンドウのタイトルバーで右クリックし表示されるポップアップメニューの編集→範囲指定を選択する。マウスまたはカーソルキーでコピーしたい領域を選択、Enterキーで確定させる。次にペーストしたい位置にプロンプトを移動し、右クリックする。

コントロールパネル→コンソールで「コンソールウィンドウのプロパティ」ダイアログを開く。オプションタブを選択し、簡易編集モードにチェックを入れる。すると、タイトルバーからポップアップメニューを呼び出して範囲指定を選ばなくても、マウスを画面上でクリックすれば編集モードになる。

コンソールのコマンドラインでファイル名補完を有効にする

UNIXのksh、bash、tcsh等のようにコマンドラインでファイル名を補完する。レジストリを変更する。

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"CompletionChar"=dword:00000009

キーボードのCapsキーをCtrlキーに変更する

Ctrlキーを多用する場合、[A]の横には[Caps Lock]キーではなく[Ctrol]キーがあった方がよい。キーを入れ替えるツールもあるようですが、ここでは2つの方法があります。

  1. kbd106.dllを書き換える
    Meadowの環境設定を参照。
  2. レジストリに指定する
    http://www.jaist.ac.jp/~fujieda/winnt/scancode.html
    http://www.jsdlab.co.jp/~kei/tips/swap.html
    レジストリキー HKEY_LOCAL_MACHINE\System\CurrentControl\KeyBoard Layout に値名Scancode Mapを追加、値の型はバイナリとする。設定方法の詳細は上述URLに解説があります。ここでは、CapsLockキーを左Ctrlキーにするので、00 00 00 00 00 00 00 00 02 00 00 00 1d 00 3a 00 00 00 00 00 と設定します。

UNIX環境を導入する

CygnusのCygwin環境をインストールする

UNIXの環境をほぼそのままNT上で利用できる。bash、各種コマンドツール群、tcl/tk等。詳しくは、Meadowで開発のCygwin1.1環境ページへ。


性能向上

ディスクアクセス性能

NTFSでロングファイルネームから8+3文字のファイル名を自動生成しない

注意!
この変更によって、実行できなくなるプログラムがあります。
ORBacus 4のIDL→Java変換コマンド(jidl.exe)がプリプロセッサ(idlcpp.exe)を呼び出すときに、ロングファイルネームのパスが含まれている場合、8+3文字ファイル名がないためエラーとなっていました。この設定は止めるべきです。2000.10.9

MS-DOSからアクセスできるようNTFSは標準でロングファイルネームにDOS(FAT12/16)の8+3文字のファイル名を生成している。これを抑制することで、性能が向上する(?).

指定方法は、レジストリの変更。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"NtfsDisable8dot3NameCreation"=dword:00000001
デフォルトの値は0.

ハードディスクの転送効率をあげる

注意!
このリミットを32768にしていたとき、InstallShieldでインストールするのに失敗してしまった。推測だが、TEMPディレクトリに展開した直後にsetup.exeを叩きにいったとき、ファイルに書き込みが完了していないためプロセスが起動できないと思われる。そこで、とりあえず上記を4096に設定し直した。この設定も行うべきではないです。2000.10.7.

入出力に使用するメモリ量がデフォルトは512KBであるので、これを大きくすることで性能を向上させる。

指定方法は、レジストリの変更。

たとえば、32768KBに拡張する場合、
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management]
"IoPageLockLimit"=dword:00008000
※16進の8000は10進では32768となる。

NTのカーネルメモリを物理メモリへ常駐させる

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"DisablePagingExecutive"=dword:00000001
デフォルトの値は0.

NTの2次キャッシュ容量を変更する

デフォルトは256KB、PentiumIII(一世代前の)は2次キャッシュが512KBなので、レジストリを変更する。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"SecondLevelDataCache"=dword:00000200
※16進の200Hは10進では512となる。

ディスクフラグメンテーションの解消

ディスクは長期間使っていると、だんだんフラグメンテーションが増加します。Windows95/98/2000(?)だと、デフラグツールが標準で備わっていますが、NT4.0では別途インストールする必要があります。

IDEの転送方式をPIOからDMAへ変更する

NT4.0はデフォルトではIDEの転送方式がPIO方式となっています。DMA転送方式にすると転送性能が向上します。DMA転送に設定するためには、NTのサービスパック4.0以上のCD-ROMに添付されているDMACHECK.EXEプログラムを使用します。SP6aでは、Support\Utils\I386ディレクトリに入っています。
下記に転送方式による違いをHDBENCHによって計測しました。

HDBENCHによる計測結果
PIO転送 DMA転送 マシンスペック
Read 4416 13281 CPU:PentiumIII 500MHz
Memory:128MBX2(CL2)
HDD:WD13 6AA
OS:WindowsNT4.0 SP6a
Write 4435 20644
FileCopy 3961 11784

インターネット環境

細い回線で少しでも快適に

ダウンロードに途中で失敗しても、そこから再開する

WGET

大きなファイルをダウンロードしている途中で通信(FTP、HTTP、ダイアルアップ等)が切れてしまい、泣く泣くもう一度最初からダウンロードし直す羽目になったことが多々あります。90%以上ダウンロード終わっていたときなどは目が点になってしまいます。そんなときに、wgetを使うと、前回途中までしかダウンロードできなかったとしても、次にその残りの部分だけをダウンロードするということが可能になります。

入手とインストールは下記Webサイトを参照ください。

GNU Wget for win32の導入
http://www.members.tripod.com/~kazusanosuke/wget/index.html

また、Cygwin1.1環境を入れている人には、Cygwin用wgetが便利かもしれません。

メール環境

異なるメーラ間でメールを移行

メーラを変えたりすると、それまで保管していたメールを移行したくなります。同じメーラだったら何とかなるのですが、メーラ毎に異なる形式で保存しているので、別なメーラへ過去のメールを移すのは難しいです。そんなときに、メール形式を変換する便利なツールを使うといいでしょう。

MailExp

http://www.digico-m.com/

入力は、UNIX標準, Netscape Mail, MS InternetMail/OutlookExpress4, AL-Mail/32/テキスト保存形式, Becky!, Eudora Pro, Message Manager, WeMail, tsworks, Winbiff, PostPet for Windows, 電信八号, Chameleon Mail, Emacs RMAIL, Shuriken, メールの王様, ダイジェスト(MIME, RFC934, RFC1153), プレーンテキスト。
出力は、電信八号, Netscape Mail, MS InternetMail, Becky!, Eudora Pro, Winbiff, tsworks, 標準UNIX, AL-Mail/32テキスト保存形式, プレーンテキスト。

VisualBasicで作成されているプログラムなので、VisualBasicのランタイムやActiveX共通ファイルが必要。詳しくは上記URL参照。

インターネット環境

WebブラウザとApplet

InternetExplorer 5.x用JavaVM

セキュリティ脆弱性が見つかっては新しいバージョンがリリースされるということが繰り返されています。古いバージョンのものはセキュリティに大きな問題があります。

http://www.microsoft.com/japan/java/
Mozilla

Mozilla0.8では、Open Java API, OJI(Open JVM Integration)という仕組みを使ってJava Plug-inをブラウザのJavaVMとして利用することができます。OJIに対応しているのは、JDK1.3.0_01以降です。<JDKインストールディレクトリ>/jre/binディレクトリにあるNPOJI600.dllを、<Mozillaインストールディレクトリ>/bin/pluginsにコピーします。


ファイル操作

圧縮解凍

圧縮解凍ツール

  1. +Lhaca
    http://sapporo.cool.ne.jp/murayama/
    lzh形式、zip形式の圧縮解凍が可能で、プログラムサイズが小さく(約100KB強)、他にDLL等を必要としない、使い方が簡単(Lhasaライク)、なツール。Vectorからも入手可能。
  2. Lhaca Deluxe
    http://sapporo.cool.ne.jp/murayama/
    +Lhacaの対応フォーマットを増やしたもの。他のDLLを必要とせず、幅広い形式に対応した。
  3. Archway
    http://hp.vector.co.jp/authors/VA011055/soft/
    DLLを追加していけばかなりの種類の解凍・圧縮に対応できる。

デバイス設定

beepを止めたい(Windows2000)

マイコンピュータのアイコンを右クリックして管理を実行する。「コンピュータの管理」ウィンドウが開く。ツリーペーンでデバイスマネージャを選択すると、右側のペーンに一覧がでてくる。が、この一覧は実は全部ではなく、一部が隠されている。そこで、表示メニューで「非表示のデバイスの表示」を実行すると、全部が表示されるようになる。(まったく腐りきったUIである)
その中のプラグアンドプレイではないドライバ項を展開すると、Beepが出てくる。これをダブルクリックするとやっとBeepのプロパティダイアログが出てくる。(なんて長い道のり)
このダイアログでBeepをスタートアップ時に無効にすれば、次回からbeepはならなくなる。