English help on website



openreg文, createreg文, closereg文, deletereg文(Ver8.95対応版)
目次− openreg文, createreg文, closereg文, deletereg文
 openreg/createregは、レジストリをオープンします。第1パラメータでルートとなるキー名を指定し、第2パラメータでサブキー名を指定します。

ルートとなるキー名としては、以下の文字列が指定可能です。
"CLASSESROOT"... HKEY_CLASSES_ROOTに対応
"CURRENTUSER"... HKEY_CURRENT_USERに対応
"LOCALMACHINE"... HKEY_LOCAL_MACHINEに対応
"USERS"... HKEY_USERSに対応
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
 openregは、指定されたサブキーが存在しない場合にエラーとなります。createregは、指定されたサブキーが存在しない場合は新たに作成してからオープンします。
 オープンに成功すると結果コードは1になり、失敗すると0になります。
 HKEY_CURRENT_USER以外は管理者権限がないと書き込みはできません。

 closeregは、オープンしたレジストリをクローズします。複数のレジストリを同時にオープンすることはできません。

 deleteregは、レジストリのキーを削除します。パラメータの指定のしかたはopenreg/createregと同じです。
 キーの中にサブキーがある場合でも、それらをまとめて削除します。

 レジストリのオープン状態は、現在の秀丸エディタだけで有効です。nexthidemaru等で秀丸エディタを切り替えた先では有効ではありません。



64bit版/32bit版の注意:
 64bit版のWindowsにおける、64bit版の秀丸エディタと32bit版の秀丸エディタでは参照するレジストリの場所が異なる場合があります。
 32bit版の「HKEY_LOCAL_MACHINE\SOFTWARE」配下は、64bit版の「HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node」配下と同じになります。
 64bit版の「HKEY_LOCAL_MACHINE\SOFTWARE」配下は、32bit版ではそのままではアクセスできません。
 HKEY_CURRENT_USERは32bitでも64bitでも同じです。

 openregの第3パラメータに値を指定して、32bitと64bitの違いを制御することができます。(V8.83以降)
 32bit版の秀丸エディタで第3パラメータに1を指定すると、HKEY_LOCAL_MACHINE\SOFTWARE配下は64bitの内容になります。
常に64bitを参照する例
if( (platform & 0x00080000) != 0 ) {
  //64bit版秀丸エディタ
  openreg "LOCALMACHINE", "SOFTWARE\\Test";  //64bit版そのまま
} else {
  if( (platform & 0x00100000) != 0 ) {
    //64bit版Windows の 32bit版秀丸エディタ
    openreg "LOCALMACHINE", "SOFTWARE\\Test", 1; //32bit版でも64bitの情報にアクセス
  } else {
    //32bit版Windows の 32bit版秀丸エディタ
    //該当なし
  }
}
 64bit版の秀丸エディタで第3パラメータに2を指定すると、HKEY_LOCAL_MACHINE\SOFTWARE配下は32bitの内容になります。
常に32bitを参照する例
if( (platform & 0x00080000) != 0 ) {
  //64bit版秀丸エディタ
  openreg "LOCALMACHINE", "SOFTWARE\\Test", 2; //64bit版でも32bitの情報にアクセス
} else {
  if( (platform & 0x00100000) != 0 ) {
    //64bit版Windows の 32bit版秀丸エディタ
    openreg "LOCALMACHINE", "SOFTWARE\\Test";  //32bit版そのまま
  } else {
    //32bit版Windows の 32bit版秀丸エディタ
    openreg "LOCALMACHINE", "SOFTWARE\\Test";  //32bit版そのまま
  }
}



持ち出しキットの注意:
持ち出しキットで動作中の場合は、HKEY_CURRENT_USERはiniファイルへのアクセスに変換されます。
HKEY_CLASSES_ROOTとHKEY_LOCAL_MACHINEについては、V8.92以降ではopenregで読み取りだけが可能です。