|
> getregstr を使っても、ReplaceHist が binary data では上手くいかない
>んですよね。
外線経由で社内の席に電話するような解しか思いつきません。しかも危険。
1..VBSなどを起動して レジストリを読んで .REG ファイル化して保存
2.マクロ本体を実行
3..REG によりレジストリを復旧。
' 読む段階までは行った。
'// オブジェクト指向言語の書き方はどれもよく似てる,しかしVBは。
' .js で書き直しても同様。読んではいるが書き込めない。
Dim objWshShell,bin
Set objWshShell=WScript.CreateObject("WScript.Shell")
bin=objWshShell.RegRead("HKCU\Software\Hidemaruo\Hidemaru\" _
& "Hidemaru.dat\ReplaceHist")
WScript.Echo UBound(bin) 'サイズは合っている。260*ヒストリ数
'WScript.Echo VarType(bin)
'WScript.Echo TypeName(bin) 'vbArrayなので.jsの時は要変換?
objWshShell.RegWrite "HKCU\Software\Hidemaruo\Hidemaru\" _
& "Hidemaru.dat\ReplaceHist",bin,"REG_BINARY"
' 型が一致しません vbArrayをWSHで書き込む方法は?
WSH2.0の SendKeys は秀丸にも有効か?
REGファイル とか REG_BINARY で検索するといろいろ出ます。
マクロの足跡消しならば Hidemaru.dat の ReplaceHistSize を
零に書き込んでからマクロ本体を実行し。最後にKをKに置換する
のを実行して(次に↓↑しても安全側) ReplaceHistSize を戻す
というのも考えられます。完全復旧ではありませんが。
$END
|
|