PCKの背(bg)以外のGUIプログラムは、プログラム終了後、次回起動時まで保存しておきたい情報をレジストリに書き込みます。レジストリへの最初の書き込みはインストール時に行われ、その後、プログラムを終了するたびに新たな書き込みが行われます。システムをアンインストールしたときには、インストール時に書き込んだ内容は削除されますが、インストール後にプログラムが書いた内容は残ります。
PCKが書き込むキーは、HKEY_LOCAL_MACHINE\Software\longtail\cmdlineとそのすべてのサブキー、HKEY_CURRENT_USER\Software\longtail\cmdlineとそのすべてのサブキーとシェルエクステンションが使うその他のキーです。まず、PCK本体が使うキーについて説明します。
HKEY_LOCAL_MACHINEキーには、ログインしているユーザーが誰かにかかわらず、すべてのユーザーに影響を与える情報が格納されるのに対し、HKEY_CURRENT_USERキーには、そのときにログインしているユーザーのための情報が格納されます。GUIプログラムは、HKEY_CURRENT_USERキーにない設定をHKEY_LOCAL_MACHINEキーに探しにいきます。ですから、HKEY_LOCAL_MACHINEキーの設定は、そのマシンのすべてのユーザーが初期値として使う設定になるわけです。そこで、キー名については、HKEY_CURRENT_USER\Software\longtail\cmdlineとかHKEY_LOCAL_MACHINE\Software\longtail\cmdlineという頭の部分を省略して説明します。どちらの枝にも、同じサブキーが含まれる権利がありますので、そのサブキーの名前だけを示します。
PCKが使う値は、次のように分類できます。
共有設定 すべてのプログラムが同じ箇所を参照し、更新していくような設定。
以下の部分では、これらについて順に説明します。
共有設定に属する値は、すべてsettingキーとそのサブキーに格納されます。これらの値は、基本的にすべてのGUIプログラムから参照されます。
インストール時にsettingキーに書き込まれるのは、設(pcksetup)がPCKのインストールの状態を調べるために使うバージョン番号、PCKがインストールされているディレクトリ、spawn.exe、ヘルプファイル(longtail.chm)、el.exeのパスと管の環境変数PATHの先頭に挿入されるPCKインストールディレクトリです。
名前 |
データ型 |
値 |
vermax |
DWORD |
64ビットバージョン番号の上位32ビット。この値が書き込まれるのは、HKEY_LOCAL_MACHINEのみです。 |
vermin |
DWORD |
64ビットバージョン番号の下位32ビット。この値が書き込まれるのは、HKEY_LOCAL_MACHINEのみです。 |
pckdir |
文字列 |
PCKがインストールされているディレクトリ。この値が書き込まれるのは、HKEY_LOCAL_MACHINEのみです。 |
addpath |
文字列 |
管(pipeline)が、実行直後に自分の環境変数PATHの冒頭に挿入するパス。初期値は、c:\program files\longtail\cmdline;です。これが挿入されることにより、PCKとともにインストールされるコマンド行プログラムがすべて実行可能になります。管の「設定」ダイアログの「環境変数PATHの冒頭に挿入するディレクトリ」で変更できます。 |
helppath |
文字列 |
ヘルプファイルが格納されている位置。初期値は、c:\program files\longtail\cmdline\longtail.chmです。管(pipeline)は、起動時に自分と同じディレクトリにあるかどうかをチェックします。ヘルプファイルが見つからないというエラーメッセージが表示されたら、システムからlongtail.chmというファイルを探して管と同じディレクトリに格納してください。 |
spawnpath |
文字列 |
spawn.exeのパス。初期値は、c:\program files\longtail\cmdline\spawn.exeです。spawn.exeを終了するたびに、spawn.exeが自分のフルパス名を書き込みます。 |
elpath |
文字列 |
el.exeのパス。初期値は、c:\program files\longtail\cmdline\el.exeです。文(el)を終了するたびに、文が自分のフルパス名を書き込みます。 |
インストール後には、さまざまなディレクトリの値が書き込まれます。これらの値は、標準の「ファイルを開く」、「名前を付けて保存」ダイアログがオープンされるときのカレントディレクトリを決めるもので、同じダイアログを最後に「OK」ボタンでクローズしたときのカレントディレクトリが書き込まれます。
名前 |
データ型 |
値 |
menu |
文字列 |
スタートメニューのなかのPCKのメニュー名。 |
cldir |
文字列 |
「設定」ダイアログのコマンド行ツール指定部の「選択」ボタンを押したときに表示されるダイアログの初期ディレクトリ。 |
textdir |
文字列 |
すべてのフロントエンドで出力ファイル名を指定しようとしたときに使われるディレクトリ。また、覧(dir)、覧(dir)、覧(ls)、瓶(dumpbin)、団(od)、字(odstr)、占(randstr)以外のフロントエンドで入力ファイルを指定しようとしたときに使われるディレクトリ。 |
binindir |
文字列 |
瓶、団、字で入力ファイルを指定しようとしたときに使われるディレクトリ。 |
dirdir |
文字列 |
覧、覧、覧で表示対象ファイルを指定しようとしたときに使われるディレクトリ。 |
editordir |
文字列 |
文(el)の「追加」ボタンからオープンされるダイアログの初期ディレクトリ。 |
clipdir |
文字列 |
板(board)から保存ファイル関連のダイアログをオープンするときに使われるディレクトリ。 |
batchdir |
文字列 |
すべてのフロントエンドの「ロード」「保存」ボタンからオープンされるダイアログの初期ディレクトリ。 |
grepdir |
文字列 |
|
seddir |
文字列 |
瀬(sed)のスクリプトを探すためのダイアログの初期ディレクトリ。 |
awkdir |
文字列 |
阿(awk)のスクリプトを探すためのダイアログの初期ディレクトリ。 |
perldir |
文字列 |
珠(perl)のスクリプトを探すためのダイアログの初期ディレクトリ。 |
pythondir |
文字列 |
錦(python)のスクリプトを探すためのダイアログの初期ディレクトリ。 |
rubydir |
文字列 |
紅(ruby)のスクリプトを探すためのダイアログの初期ディレクトリ。 |
fortdir |
文字列 |
運(fortune)ファイルを探すためのダイアログの初期ディレクトリ。占(randstr)の入力ファイルを指定するためのダイアログの初期ディレクトリでもあります。 |
また、インストール後は、settingキーにeditorsサブキーが作られ、次の値が書き込まれます。
名前 |
データ型 |
値 |
<NUM> |
文字列 |
<NUM>は、1から始まる数値。フロントエンドの「設定」ダイアログボックスのエディタ関連のドロップダウンリストに表示されるエディタコマンド行が1つずつ格納されます。また、spawn.exeのコマンド行パラメータとして/<NUM>という形でこの数字を指定すると、spawn.exeが起動するテキストエディタを指定できます。editorsキーの内容は、文(el)で操作します。 |
HKEY_CURRENT_USER\Software\longtail\cmdlineキーとHKEY_LOCAL_MACHINE\Software\longtail\cmdlineキーには、個々のGUIプログラムと同じ名前のサブキーがあり、それぞれのプログラムに固有な設定が格納されています。ここでは、複数のGUIプログラムが共通に持っている設定を説明します。
インストール時に書き込まれるのは、管(pipeline)の起動ボックスを作るために必要な情報です。GUIプログラムは、終了時にこれらの値をかならず書き込みます。
名前 |
データ型 |
値 |
cpath |
文字列 |
フロントエンドが起動するコマンド行ツールのパス。アイコンが赤、緑のプログラムには、この項目はありません。「設定」ダイアログボックスで内容を変更できます。 |
name |
文字列 |
起動ボックスの「名前」欄に表示される名前。 |
description |
文字列 |
起動ボックスの「説明」欄に表示される短い説明。 |
key |
文字列 |
フロントエンドの固有設定のレジストリキー。値は、Software\Longtail\cmdline\<プログラム名>になります。 |
path |
文字列 |
フロントエンド自身のパス。初期値は、c:\program files\longtail\cmdline\<プログラム名>になります。フロントエンドは、終了時にここに自分のフルパスを書き込みます。ですから、フロントエンドを別のディレクトリに移動しても、そこで一度実行、終了すると、新しいディレクトリを反映した値になります。 |
attributes |
DWORD |
フロントエンドが想定しているコマンド行ツールの特性。以下の値を適宜足し合わせたものになっています。 1 パイプラインに出力を追加できるツール。丁(tee)のみ。管(pipe line)はこのタイプのフロントエンドのオプション文字列から先頭が-ではない文字列か「-」だけになっている文字列を探し、コマンド行実行後にそれらのファイルを表示するようspawn.exeに指示します。また、このタイプのフロントエンドのアイコンをパイプラインの先頭に配置して実行することはできません。 2 パイプラインに入力を追加できるツール。複数の入力を受け付け、コマンド行パラメータとして「-」を認識するプログラムに対応するフロントエンドがこれに当たります。猫(cat)、珠(perl)などは当てはまりますが、探(find)などのWindowsツールは「-」を認識しないので当てはまりません。管(pipe line)のメインダイアログのリストでアイテムを右クリックしたときに「追加入力」コマンドが表示されるのは、このタイプのフロントエンドだけです。 4 フィルタ。覧(ls)、運(fortune)など、標準入力を決して読まないプログラムには指定されていません。管にアイテムをドラッグアンドドロップしたとき(あるいは管の「パイプへ」コマンドを実行したとき)、フィルタに対応するフロントエンドのアイコンはパイプラインの末尾に追加されますが、非フィルタのアイコンはパイプラインの先頭に挿入されます。 8 自由にコマンド行を指定できるフロントエンド。行(cmdline)のみです。 16 「起動ボックス」に表示されるものの、「パイプへ」ボタンが使えないプログラム。行、管と見(sb)、板(board)、触(touch)が該当します。 |
setupopt |
DWORD |
設(pcksetup)の「一斉設定」のための属性。「設定」ダイアログボックス内にどのような項目が含まれているかを示します。見の「設定」ダイアログにも同様の項目がありますが、見は複数の設定を持てるようになっていますので、設の「一斉設定」の対象からは外れています。 1 「一斉設定」の対象になることを示します。 2 ファイルをドロップしたときにコマンドをただちに実行 4 フォルダをドロップしたときにコマンドをただちに移動 8 \ではなく/でディレクトリを区切る 16 MS-DOS風の短いファイル名で入力を指定する 32 出力の末尾にコマンド行とカレントディレクトリを付加 64 標準出力のためにエディタを起動しない 128 スクリプトなどの編集用のエディタ |
インストール後には、「設定」ダイアログボックスで設定されるさまざなまオプションが書き込まれます。
名前 |
データ型 |
値 |
EditorPath |
文字列 |
「設定」ダイアログの「結果出力用エディタ」で選択されたエディタコマンド行。すべてのGUIフロントエンドで指定できます。 |
EditorPath2 |
文字列 |
「設定」ダイアログの「スクリプト編集用エディタ」で選択されたエディタコマンド行。阿、探、探、珠、錦、紅、瀬のみ |
FileDrop |
DWORD |
「設定」ダイアログの「ファイルをドロップしたときにコマンドをただちに実行」がチェックされていれば1、そうでなければ0。見、運(fortune)以外のすべてのGUIフロントエンドで指定できます。 |
DirDrop |
DWORD |
「設定」ダイアログの「フォルダをドロップしたときにコマンドをただちに移動」がチェックされていれば1、そうでなければ0。見、差(diff)、覧、覧、覧、並(sort)、単(uniq)以外のGUIフロントエンドで指定できます。 |
Clout |
DWORD |
「設定」ダイアログの「出力の先頭にプロンプトとコマンド行を付加」がチェックされていれば1、そうでなければ0。すべてのGUIフロントエンドで指定できます。 |
Debug |
DWORD |
「設定」ダイアログの「出力の末尾にコマンド行とカレントディレクトリを付加」がチェックされていれば1、そうでなければ0。すべてのGUIフロントエンドで指定できます。 |
UnixStylePath |
DWORD |
「設定」ダイアログの「\ではなく/でディレクトリを区切る」がチェックされていれば1、そうでなければ0。アイコンが青、黄緑(瓶を除く)、見以外の赤のGUIフロントエンドのみ。 |
MsdosStylePath |
DWORD |
「設定」ダイアログの「MS-DOS風の短いファイル名で入力を指定する」がチェックされていれば1、そうでなければ0。アイコンが青、黄緑、見以外の赤のGUIフロントエンドのみ。 |
NoEditor |
DWORD |
「設定」ダイアログの「標準出力のためにエディタを起動しない」がチェックされていれば1、そうでなければ0。 |
defname |
DWORD |
デフォルトコマンド名配列のインデックス。「設定」ダイアログボックスの「コマンド名のデフォルト」ドロップダウンリストの内容を決めます。阿、探のみ。 |
FileIncluded |
DWORD |
入力ファイル名を「opt保存」ボタンで保存され、起動時にロードされるオプションに含めるかどうかを決めます。阿のみ。 |
option |
文字列 |
「opt保存」ボタンで保存したオプション。管、行、見を除くGUIフロントエンドで指定できます。 |
ShowCmd |
DWORD |
クローズ時に最小表示(2)、通常表示(1)、最大表示(3)のどれだったか(アイコンが赤、緑のプログラムのみ)。起動時に同じ状態を復元します。 |
left |
文字列 |
クローズ前の最後の通常表示時のウィンドウの左端(アイコンが赤、緑のプログラムのみ)。起動時に同じ状態を復元します。 |
right |
文字列 |
クローズ前の最後の通常表示時のウィンドウの右端(アイコンが赤、緑のプログラムのみ)。起動時に同じ状態を復元します。 |
top |
文字列 |
クローズ前の最後の通常表示時のウィンドウの上端(アイコンが赤、緑のプログラムのみ)。起動時に同じ状態を復元します。 |
bottom |
文字列 |
クローズ前の最後の通常表示時のウィンドウの下端(アイコンが赤、緑のプログラムのみ)。起動時に同じ状態を復元します。 |
独自設定に分類される設定は、すべてインストール後にレジストリに書き込まれます。
行には、コマンド行履歴とファイル名表示に関連した独自設定があります。
名前 |
データ型 |
値 |
fullpath |
DWORD |
「設定」ダイアログの「「送る」、空欄ドロップでフルパス名を使う」がチェックされていれば1、そうでなければ0。 |
NumHist |
DWORD |
保存するコマンド行履歴の数。100以下の値で指定します。デフォルトは20です。 |
実際の履歴データは、HKEY_CURRENT_USER\Software\longtail\cmdline\cmdline\historyキーに格納されます。
名前 |
データ型 |
値 |
<NUM> |
文字列 |
<NUM>は、0から始まる数値。行で最後に実行されたNumHist個以下のコマンド行のためのエントリが作られます。 |
管は、起動ボックスの位置、サイズ情報と起動ボックスから起動されるプログラムの初期作業ディレクトリを設定するための独自設定を持っています。
名前 |
データ型 |
値 |
iShowCmd |
DWORD |
起動ボックスクローズ時に最小表示(2)、通常表示(1)、最大表示(3)のどれだったか。次にオープンしたときに同じ状態を復元します。 |
ileft |
DWORD |
起動ボックスクローズ前の最後の通常表示時のウィンドウの左端。起動時に同じ状態を復元します。 |
iright |
DWORD |
起動ボックスクローズ前の最後の通常表示時のウィンドウの右端。起動時に同じ状態を復元します。 |
itop |
DWORD |
起動ボックスクローズ前の最後の通常表示時のウィンドウの上端。起動時に同じ状態を復元します。 |
ibottom |
DWORD |
起動ボックスクローズ前の最後の通常表示時のウィンドウの下端。起動時に同じ状態を復元します。 |
diropt |
DWORD |
「設定」ダイアログの「初期ディレクトリ」グループボックスの2つのラジオボタンに対応しています。「固定」なら1、「pipelineに合わせる」なら2です。 |
NoChdirOnLoad |
DWORD |
「設定」ダイアログの「ロード時にディレクトリ移動しない」がチェックされていれば1、そうでなければ0。 |
NoInvoke |
DWORD |
「設定」ダイアログの「起動時に起動ボックスをオープンしない」がチェックされていれば1、そうでなければ0。 |
pipedir |
文字列 |
「設定」ダイアログの「初期ディレクトリ」グループボックスで「固定」を選択したとき使われるフロントエンドの初期作業ディレクトリ。 |
SaveInput |
DWORD |
「設定」ダイアログの「保存時に入力ファイルも保存する」がチェックされていれば1、そうでなければ0。 |
見は、HKEY_CURRENT_USER\Software\longtail\sbキーにattributes、description、key、name、pathを持つほか、設定名ごとにキーを持っており、その中に上記のEditorPath、Clout、Debug、Noeditor、ShowCmd、left、right、top、bottom設定を格納します。その他に、設定名キー内に以下の設定を持っています。他にもいくつか設定が含まれている場合がありますが、変更しないで下さい。
名前 |
データ型 |
値 |
Wp |
DWORD |
「設定」ダイアログの「位置・サイズ」が「Windowsに任せる」なら1、「左の値を使う」なら4、「前回終了時の位置」なら2。 |
typeface |
文字列 |
タイプフェース名 |
bold |
DWORD |
太字なら1、そうでなければ0。 |
italic |
DWORD |
斜字なら1、そうでなければ0。 |
Dp |
DWORD |
「設定」ダイアログの「表示開始位置」が「先頭」なら1、「末尾」なら2、「新ファイルの先頭」なら4。 |
Ar |
DWORD |
「設定」ダイアログの「表示内容」が「追加」なら1、「置換」なら2。 |
Qq |
DWORD |
「設定」ダイアログの「終了確認をする」がチェックされていれば1、そうでなければ0。 |
Wrap |
DWORD |
「設定」ダイアログの「行の折り返し」が「折り返さない」なら1、「ウィンドウの端で折り返す」なら2。 |
InClip |
DWORD |
「設定」ダイアログの「クリップボードの内容を標準入力として扱う」がチェックされていれば1、そうでなければ0。 |
OutClip |
DWORD |
「設定」ダイアログの「標準出力をクリップボードにセットする」がチェックされていれば1、そうでなければ0。 |
EditorCL |
文字列 |
「設定」ダイアログの「内容編集」コンボボックスで選択されたエディタコマンド行。 |
Toolbar |
DWORD |
ツールバーが表示されていれば0、そうでなければ1。 |
Statusbar |
DWORD |
ステータスバーが表示されていれば0、そうでなければ1。 |
このほか、コマンド行、検索文字列、コマンドの履歴データが各設定名の下のlhist、shist、chistキーに格納されます。
木は、見と同様にHKEY_CURRENT_USER\Software\longtail\tvキーにattributes、description、key、name、pathを持つほか、設定名ごとにキーを持っており、その中に上記のEditorPath、Clout、Debug、Noeditor、ShowCmd、left、right、top、bottom設定を格納します。その他に、設定名キー内に以下の設定を持っています。他にもいくつか設定が含まれている場合がありますが、変更しないで下さい。
名前 |
データ型 |
値 |
wp |
DWORD |
「設定」ダイアログの「位置・サイズ」が「Windowsに任せる」なら1、「左の値を使う」なら4、「前回終了時の位置」なら2。 |
typeface |
文字列 |
印刷用フォントのタイプフェース名 |
bold |
DWORD |
太字なら1、そうでなければ0。 |
italic |
DWORD |
斜字なら1、そうでなければ0。 |
dp |
DWORD |
「設定」ダイアログの「表示開始位置」が「先頭」なら1、「末尾」なら2、「変更せず」なら4。 |
ar |
DWORD |
「設定」ダイアログの「表示内容」が「追加」なら1、「置換」なら2。 |
qq |
DWORD |
「設定」ダイアログの「終了確認をする」がチェックされていれば1、そうでなければ0。 |
HasButtons |
DWORD |
「設定」ダイアログの「ツリーの表示」の「+ボタン」がチェックされていれば1、そうでなければ0。 |
HasLines |
DWORD |
「設定」ダイアログの「ツリーの表示」の「線付き」がチェックされていれば1、そうでなければ0。 |
LinesAtRoot |
DWORD |
「設定」ダイアログの「ツリーの表示」の「ルートの線、ボタン」がチェックされていれば1、そうでなければ0。 |
BlankNode |
文字列 |
「設定」ダイアログの「ツリーの表示」の「空ノード」の内容。 |
InClip |
DWORD |
「設定」ダイアログの「クリップボードの内容を標準入力として扱う」がチェックされていれば1、そうでなければ0。 |
OutClip |
DWORD |
「設定」ダイアログの「標準出力をクリップボードにセットする」がチェックされていれば1、そうでなければ0。 |
EditorCL |
文字列 |
「設定」ダイアログの「内容編集」コンボボックスで選択されたエディタコマンド行。 |
Toolbar |
DWORD |
ツールバーが表示されていれば0、そうでなければ1。 |
Statusbar |
DWORD |
ステータスバーが表示されていれば0、そうでなければ1。 |
このほか、コマンド行、検索文字列、コマンドの履歴データが各設定名の下のlhist、shist、chistキーに格納されます。
板は、管理する履歴情報の数、履歴情報の自動保存、ロードを行うかどうか、履歴情報の自動保存に使われるデフォルト保存ファイルの名前、2つのビューを区切るバーの位置を設定するための独自設定を持っています。
名前 |
データ型 |
値 |
NumHist |
DWORD |
管理する履歴情報の数を指定します。 |
UseDefFile |
文字列 |
終了時に指定されたファイルに履歴情報を自動保存し、起動時にそのファイルから履歴情報を自動ロードする場合には1、そうでない場合には0になります。 |
clipfile |
文字列 |
自動ロード、自動保存に使われるファイルのパス名。 |
RowHeight |
文字列 |
2つのビューの境界線の位置。起動時に前回実行時の表示を復元するために使われます。 |
シェルエクステンションは、Microsoftが規定しているいくつかのレジストリエントリを設定しなければ、シェルエクステンションとして機能しません。ここでこれらのエントリをドキュメントしているのは、シェルエクステンションを手動的にインストール、アンインストールする方法を示すためです。該当するすべてのキー、値を取り除けば、ファイルを削除しなくてもシェルエクステンションは機能しなくなります。また、稼動しているシェルエクステンションを削除しようとすると、拒否される場合がありますが、これらのキー、値を取り除き、エクスプローラのインスタンスをすべて終了してから(あるいはリセットしてから)削除を試みれば、成功するはずです。
ot32ext.dllは、エクスプローラのコンテキストメニューから触(touch)を起動するためのシェルエクステンションで、
HKEY_CLASSES_ROOT\CLSID\{24969520-1C1E-11d1-BD89-444553540000}キーとそのInProcServer32サブキー
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\ot32キー
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extension\Approvedキー
を使います。
CLSIDを指定してインスタンス生成できるCOMコンポーネントは、HKEY_CLASSES_ROOT\CLSIDに自分のCLSIDと同名のキーを持たなければなりません。HKEY_CLASSES_ROOT\CLSID\{24969520-1C1E-11d1-BD89-444553540000}キーは、そのようなCLSIDキーで、{24969520-1C1E-11d1-BD89-444553540000}はot32ext.dllのなかのCOMコンポーネントのCLSIDです。このキーには、値としてはデフォルトの(標準)値のみが含まれており、その内容はShell Extension for ot32、すなわちコンポーネントの説明です。InProcServer32サブキーには、デフォルトの(標準)値とThreadingModel値が含まれています。(標準)はot32ext.dll、ThreadingModelはApartmentです。ot32ext.dllを使わない場合には、HKEY_CLASSES_ROOT\CLSID\{24969520-1C1E-11d1-BD89-444553540000}キー以下、すべてのキーと値を削除してかまいません。
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\ot32キーは、拡張子を問わず、すべての種類のファイルについて、右クリックしたときに表示されるコンテキストメニューにアイテムを追加するコンテキストメニューハンドラを指定するためのキーです。そのようなハンドラは何種類も作られる可能性があるからだと思いますが、ハンドラごとにContextMenuHandlersの下にサブキーを作っています。値は(標準)のみで、その内容は、CLSIDの{24969520-1C1E-11d1-BD89-444553540000}です。ot32ext.dllを使わない場合には、このキーと値を削除してかまいません。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extension\Approvedキーは、シェルエクステンションのCLSIDと説明をまとめているキーで、ot32ext.dll関連では、{24969520-1C1E-11d1-BD89-444553540000}という名前でot32 context menu handlerという値の値が含まれています。ot32ext.dllを使わない場合には、この値を削除してもかまいませんが、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extension\Approvedキーやこのキーに含まれているその他の値を削除してはなりません。
pckext.dllは、エクスプローラのバッチファイルアイコンの表示方法を変え、コンテキストメニューから管、行を起動できるようにするためのシェルエクステンションで、
HKEY_CLASSES_ROOT\CLSID\ {A8E08C82-AE74-405f-845C-EEEA4FE949C9}キーとそのInProcServer32サブキー
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\pckextキー
HKEY_CLASSES_ROOT\batfile\DefaultIconキー
HKEY_CLASSES_ROOT\batfile\shellex\IconHandlerキー
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extension\Approvedキー
を使います。
HKEY_CLASSES_ROOT\CLSID\{A8E08C82-AE74-405f-845C-EEEA4FE949C9}キーは、ot32ext.dllが使っているのと同様のCLSIDキーで、(標準)値の内容はShell Extension for PCK、になっています。InProcServer32サブキーの(標準)はpckext.dll、ThreadingModelはApartmentです。pckext.dllを使わない場合には、HKEY_CLASSES_ROOT\CLSID\{A8E08C82-AE74-405f-845C-EEEA4FE949C9}キー以下、すべてのキーと値を削除してかまいません。
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\pckextキーは、ot32ext.dllのときと同様に、すべてのファイルに対するコンテキストメニューハンドラのためのキーです。値は(標準)のみで、その内容は、CLSIDの{A8E08C82-AE74-405f-845C-EEEA4FE949C9}です。pckext.dllを使わない場合には、このキーと値を削除してかまいません。
HKEY_CLASSES_ROOT\batfile\shellex\IconHandlerキーは、拡張子が.batのファイルのみを対象とするアイコンハンドラを指定するためのキーで、値は(標準)のみ、内容はCLSIDの{A8E08C82-AE74-405f-845C-EEEA4FE949C9}です。また、アイコンハンドラを機能させるためには、HKEY_CLASSES_ROOT\batfile\DefaultIconキーの(標準)値として%1を指定する必要がありますので、インストーラはこの値も書き換えています。HKEY_CLASSES_ROOT\batfile\DefaultIconキーの(標準)値は、PCKをインストールする前は、%SystemRoot%\System32\shell32.dll,-153(NT系システム)、あるいはC:\Windows\system32\shell32.dll,-153(9x。C:\Windowsの部分は、実際のWindowsフォルダの位置でなければなりません)になっています。Windowsインストーラを使ってインストールした場合には、アンインストール時に元の値に戻りますが、万一エクスプローラでの.batファイルの表示がおかしくなった場合には、レジストリのこの位置をチェックしてください。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extension\Approvedキーは、シェルエクステンションのCLSIDと説明をまとめているキーで、pckext.dll関連では、{A8E08C82-AE74-405f-845C-EEEA4FE949C9}という名前でPCK icon handlerという値の値が含まれています。pckext.dllを使わない場合には、この値を削除してもかまいませんが、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Shell Extension\Approvedキーやこのキーに含まれているその他の値を削除してはなりません。
なお、エクスプローラでバッチファイルをダブルクリックしたときにGUIフロントエンドが起動される機能は、pckext.dllとはまったく無関係なpckbps.exeプログラムの機能ですが、pckbps.exeを正しく動作させるためには、レジストリを1箇所書き換える必要があります。それは、次のキーです。
HKEY_CLASSES_ROOT\batfile\shell\open\commandキー
PCKをインストールする前は、このキーの(標準)値の内容は"%1" %*になっています。PCKをインストールすると、これが"c:\Program Files\longtail\cmdline\pckbps.exe" "%1" %*に変わります。つまり、元の内容の手前にpckbps.exeのフルパス名を””で囲んだものとスペースを挿入した形になります。Windowsインストーラを使ってアンインストールすれば、元の値が復元されるはずですが、万一.batファイルの動作がおかしくなった場合には、このキーをチェックしてください。