registry - Windowsのレジストリを処理します。
package require registry 1.1
registry option keyName ?arg arg ...?
registryパッケージはWindowsのレジストリを扱うための基本的な操作セットを提供します。
このパッケージにはregistryTcl
コマンドを実装しています。このコマンドはWindowsプラットフォームのみでサポートされます。警告:
レジストリが破壊されると、システムを使用できない状態になるので、このコマンドは慎重に使用すべきです。
KeyNameはレジストリキーの名前です。レジストリキーは以下の形式のいずれかでなければなりません。
- \\hostname\rootname\keypath
rootname\keypath
rootname
Hostnameは該当レジストリを公開しているいかなる正当なWindowsホストの名前を指定します。
rootname コンポーネントは HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_CURRENT_CONFIG、HKEY_PERFORMANCE_DATAまたはHKEY_DYN_DATAのいずれかでなければなりません。
keypath はバックスラッシュ(\)文字で区切られた1つ以上のレジストリキーの名前です。
option はレジストリキー名で何をするのかを示します。 option
の区別できる範囲での省略形が認められます。認められているオプショ
ンは下記のとおりです。
- .VS 8.4
- registry delete keyName ?valueName?
- registry get keyName valueName
- registry keys keyName ?pattern?
- registry set keyName ?valueName data ?type??
- registry type keyName valueName
- registry values keyName ?pattern?
- .VS 8.4
- registry broadcast keyName ?-timeout milliseconds ?
はある最新情報を通
告するためメッセージを、システムまたは実行しているプログラムへ通告します。
これはEnvironmentのような重要なレジストリキーへの変更を伝播するために必要です。
タイムアウトはアプリケーションが放送メッセージに応答するのを待つ時間をミリセカンドで指定します。
デファルトは3000です。以下の例はパスをどのようにグローバルなEnvironmentに追加し、そして、ログオフ/ログオンステップを要求せずに変更をアプリケーションに通
告することを例示します (admin権であると仮定します)。
set regPath {HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment}
set curPath [registry get $regPath "Path"]
registry set $regPath "Path" "$curPath;$addPath"
registry broadcast "Environment"
- registry delete keyName ?valueName ?
- 任意選択のvalueName 引数が存在すると、レジストリからkeyNameの指定された値が削除されます。
任意選択のvalueName 引数が省略されると、指定されたキーとそのレジストリ階層構造の中にあるあらゆるサブキー、あるいは値が削除されます。
キーが削除できないとエラーが生成されます。
キーが存在しないと、このコマンドはなにもしません。
- registry get keyName valueName
- キーkeyName の下の値valueName に関連しているデータを返します。
キーか値のどちらかが存在しないとエラーが生成されます。返されるデータの形式に関する詳細は後述のSUPPORTED
TYPESを参照して下さい。
- registry keys keyName ?pattern?
- pattern が指定されないと、keyName
のすべてのサブキー名のリストを返します。 patternが指定されるとそれらの
pattern にマッチする名前だけが返されます。照合は string matchと同じルールを用いて判定されます。指定されたkeyName
が存在しないとエラーが生成されます。
- registry set keyName ?valueName data ?type??
- valueName が指定されなく、存在していないならkeyName が作成されます。
valueName が指定されると必要ならばキーkeyName と値valueName
が作成されます。 valueName の内容はtypeで示されるタイプのdataに設定されます。
type が指定されないとタイプszと仮定されます。
データとタイプ引数に関する詳細はサポートするタイプを参照して下さい。
-
- registry type keyName valueName
- キーkeyName内の値valueNameのタイプを返します。可能なタイプに関する詳細はサポートするタイプを参照して下さい。
- registry values keyName ?pattern?
- pattern が指定されないと、keyName
のすべての値の名前のリストを返します。 pattern
が指定されると、それらのpattern
にマッチする名前だけが返されます。照合は string
matchと同じルールを用いて判定されます。
レジストリ内のキーの下の各値はタイプ独自の表現で特定のタイプのデータをいくつか含みます。
registryコマンドはこの内部的な表現とTclスクリプトで扱うことができる表現との間で変換を行います。
ほとんどの場合、データは単にTcl文字列として返されます。
タイプはデータの意図された使用を示すが、実際に表現を変更しません。
いくつかのタイプに対してregistryコマンドはデータを扱いやすくするために異なる形式で返します。
次のタイプがレジストリコマンドで認識されます。
- binary
- none
- sz
- expand_sz
- dword
- dword_big_endian
- link
- multi_sz
- resource_list
- binary
- レジストリ値は任意のバイナリデー タを持ちます。
データは埋め込まれている空文字も含むTclで正確に表現されます。
- none
- レジストリ値はタイプが定義されていない任
意のバイナリデータを持ちます。データは埋め込まれている空文字も含むTclで正確に表現されます。
- sz
- レジストリ値は空文字で終了している文字列を持ちます。データは文字列としてTclでは表現されます。
- expand_sz
- レジストリ値は展開されていない普通のWindowsスタイルの環境変数への参照(例えば"%PATH%")を含み、空文字で終了している文字列を持ちます。
データはTclでは文字列として表現されます。
- dword
- レジストリ値はリトルエンディアンの32 ビッ
ト数値を持ちます。データはTclでは十進数文字列として表現されます。
- dword_big_endian
- レジストリ値はビッグエンディアンの32
ビット数値を持ちます。 データはTclでは十進数文字列として表現されます。
- link
- レジストリ値は符号的なリンクを持ちます。
データは埋め込まれている空文字も含めてTclで正確に表現されます。
- multi_sz
- レジストリ値は空文字で終了している文字列の配列を持ちます。
データはTclでは文字列のリストとして表現されます。
- resource_list
- レジストリ値はデバイスドライバリソースリストを持ちます。
データは埋め込まれている空文字も含めてTclで正確に表現されます。
上でリストされたタイプ以外には、システムインターフェスによって返されるタイプコードに対応する32ビット整数を使って、未知のタイプを識別できます。
この場合では、データは埋め込まれている空文字も含めてTclで正確に表現されます。
レジストリコマンドはWindowsでのみ利用可能です。
registry
Copyright © 1997 Sun Microsystems, Inc.
Copyright © 2002 ActiveState Corporation.
Copyright © 1995-1997 Roger E. Critchlow Jr.
|