|
こんにちは、不特定環境での利用が多いため秀丸メール用の持ち出しキットを
エディタで活用させてもらっています。どこででも使えて非常に便利なのですが
少しだけ気になる点があります。(持ち出しキット利用は自己責任であるという
ことは一応理解しています。話題としてそぐわない内容でしたらすみません。
その場合は無視してくださって結構です。)
・動作環境での相対パス指定について。
マクロフォルダ、設定ファイルフォルダは常にHidemaru.exeのある
フォルダからの相対と扱われるのに対し、ファイル検索パス(ファイル-開く),
外部ヘルプファイル, Webブラウザ、メールソフト指定のパス などは編集中の
ファイルからの相対としてみなされてしまいます。
(マクロフォルダも ファイルを開く/保存ダイアログので『▼マクロファイル用の
フォルダ』を選んだ時はカレントからの相対として扱われているようです。)
挙動としてはある意味正しいのですが個人的にこれらが変動パス扱いでは困ること
が多く、全て秀丸フォルダ起点で指定したいです。どうにかして秀丸フォルダから
の相対として指定する方法はないでしょうか? (WorkingDirに秀丸フォルダを指定
して起動するのは試してみましたがダメみたいでした。)
・バックアップを作成する場合の保存先(動作環境-ファイル-保存)について。
持ち出しキット利用時もフルパス限定となっています。これは制限上仕方がない
のでしょうか?
また、(持ち出しキットとは直接関係ない要望ですが)バックアップの保存先が存在
しないパスだった場合に、自動でディレクトリ作成を試みてから保存するようには
できないでしょうか。自分の場合バックアップファイルは後生大事に控えたいわけ
ではなく、%TEMP%\Hidebak\ や %RamDiskDrive%\Hidebak\ のような場所にほんの一
時退避しておければいいと考えています。ただ、バックアップパスが存在しないと
上書き保存時に問答無用でアラートが出てしまうため、テンポラリ内などのフォルダ
ごと削除されるかもしれない場所への指定ができないんですよね。
・マクロ内での挙動 macrodirの値と レジストリ系
macrodirは動作環境で指定した文字列がそのまま入ってくるようですね("macro" 等)
またレジストリ系はHmRegIni.iniへのアクセスに限定されるみたいです。
if (existfile(macrodir,0x10)) { $dllpath = macrodir + "\\dll\\hoge.dll"; }
else { $dllpath = hidemarudir + "\\" + macrodir + "\\dll\\hoge.dll"; }
loaddll $dllpath;
macrodirに関しては 上のような記述で回避可能ですし、レジストリはコンセプトを
考えれば当然の挙動ではあります。ただ、持ち出し利用だからこそ環境依存の情報を
レジストリから読み出したいということも結構あります。
(任意アプリの設定ファイルを開くためにアプリのインストール先パスを得たい、等)
getregstr/num() だけでもHmRegIni.dllをバイパスできるような指定というのは…
やはりないものでしょうか?
環境 秀丸エディタ Ver.7.11 / HmRegIni.DLL Ver.1.08 / WinXP SP3
|
|