[ 新規に投稿する ]

ファイルヒストリ2-指定した拡張子のみ をマクロでやるにはNo.09975
styth さん 22/10/18 08:35 [ コメントを投稿する ]
  動作環境− ファイル−ヒストリ2 >指定した拡張子のみ 

 のon/offをマクロで実行したいのですが、やり方が分かりません。

 それと、
 「指定した拡張子のみ」をonにした時は、指定された拡張子以外は、履歴から削除したい
 と思い、以下のマクロを作成しました。
 これの、".mac"の部分をどう取得すれば良いかも、分かりません。
 よろしくお願いいたします。

#i=0;
while(#i<filehistcount){
  if ( rightstr(getfilehist(#i), 4) != ".mac" ) deletefilehist #i;
  #i=#i+1;
}
endmacro;
[ ]
RE:09975 ファイルヒストリ2-指定した拡張子のみ をマクロでやNo.09976
秀丸担当 さん 22/10/18 11:29 [ コメントを投稿する ]
  ヒストリの設定の、[指定した拡張子のみ]を取得したり設定するキーワードや文はありません。

".mac"を取得するのは、それで合っていると思います。
大文字かもしれないのと、削除したら一個ずれることを考えると、以下のようにしたほうがいいです。
#i=0;
while(#i<filehistcount){
  if ( tolower(rightstr(getfilehist(#i), 4)) != ".mac" ) {
    deletefilehist #i;
  } else {
    #i=#i+1;
  }
}
endmacro;


参考までの情報としてですが、動作環境の情報を無理矢理なんとかするとしたら、レジストリの書き換えでする方法があります。
レジストリエディタでSoftware\Hidemaruo\Hidemaru\Envをエクスポートして比較すると調べることができます。
ExEnv2というバイナリ値の266バイト目とわかります。

//取得
openreg "CURRENTUSER","Software\\Hidemaruo\\Hidemaru\\Env";
$a=getregbinary( "ExEnv2",266,1);
message("現在の状態:\n"+$a);
closereg;
endmacro;

//設定
openreg "CURRENTUSER","Software\\Hidemaruo\\Hidemaru\\Env";
writeregbinary "ExEnv2","01",266,1;//ON
//writeregbinary "ExEnv2","00",266,1;//OFF
closereg;
envchanged;
endmacro;
[ ]
RE:09976 ファイルヒストリ2-指定した拡張子のみ をマクロでやNo.09977
styth さん 22/10/19 08:53 [ コメントを投稿する ]
   ありがとうございます。できました。

>".mac"を取得するのは、それで合っていると思います。
>レジストリエディタでSoftware\Hidemaruo\Hidemaru\Envをエクスポートして比較すると調べることができます。
 この方法で、".mac"が、
$s = "." + getregstr( "HistTargetExt");
  if ( tolower(rightstr(getfilehist(#i), 4)) != $s ) {
 であることが分かりました。
[ ]
RE:09976 標準の値を獲得したい場合No.09985
styth さん 22/11/09 08:14 [ コメントを投稿する ]
  >参考までの情報としてですが、動作環境の情報を無理矢理なんとかするとしたら、レジストリの書き換えでする方法があります。
 レジストリの読み書きでヘルプを見ていて、思ったのですが、

>getregstr( s1 )関数, getregnum( s1 )関数(Ver9.15対応版)
>目次− getregstr( s1 )関数, getregnum( s1 )関数
(中略)
>標準の値を獲得したい場合は、空の文字列("")を指定して呼んでください。
 とのことなのですが、標準の値を獲得したい時に、どうやれば良いのか分かりません。
 何か例が掲載されていると分かりやすいんですが、そうして頂けないでしょうか。
 よろしくお願いいたします。
[ ]
RE:09985 標準の値を獲得したい場合No.10006
秀丸担当 さん 22/11/16 09:21 [ コメントを投稿する ]
  回答が遅れて申し訳ありません。
既定の値(標準の値)とは、レジストリエディタで見たときの、"(既定)"の値になります。
レジストリに情報が無いときに秀丸エディタが決める標準の設定のことではないです。
標準の設定を知る方法は無いです。

秀丸エディタでは、
HKEY_CURRENT_USER\SOFTWARE\Hidemaruo\Hidemaru\.html
といったようなファイルタイプ別の設定で使われています。
一般的には、
HKEY_CLASSES_ROOT\.html
といった関連付けの情報に使われたりしているようです。
[ ]

[ 新規に投稿する ]