気のせいかもしれませんが・・・No.04779
tsuzuki さん 14/05/04 19:23
 
お世話になっております。Ver1.10正式版を利用させていただいております。

どうも上部メニューの

編集>元に戻る
編集>やり直し

を交互にやっていると、徐々に動作が重くなってきているように感じました。
気のせいでしたらすみません。

また交互に何度もやっていた理由でもあるのですが、
操作履歴の内容をみる方法があると嬉しいです。
主には「名前の変更」「移動」「コピー」があると思いますが
これらの詳細ですね。エクスプローラの標準機能には無いものではありますが

誤操作
意図してやった操作

の区別がし辛いです。どこまでが意図していたのか・・・どこまで戻っていいのか、
ということです。
「元に戻す 移動」だと何をどこに移動したのかわかりません。普通そうなんですけ
ど、これを判るようにしていただけると嬉しいです。(例えば矩形のバルーンを右横
に出してくれたり)

ご検討いただけましたら幸いです。


[ ]
RE:04779 気のせいかもしれませんが・・・No.04781
秀丸担当 さん 14/05/07 10:25
 

ご指摘ありがとうございます。
「元に戻す」「やり直し」は、確かに遅いかもしれません。
コピー/移動/削除などの処理は、Windows共通の操作で、エクスプローラで操作
したものも同じになっています。
コピー/移動/削除などの処理を行う方法はWindowsによって提供されているので
すが、「元に戻す」「やり直し」を行う方法はWindowsは公開しておらず、提供
されていないです。
そのため、秀丸ファイラーClassicでは、内部的にエクスプローラと同等のファ
イル一覧枠を見えないところで作って、そこの背景の右クリックメニューの中に
「元に戻す」などがあるので、そのメニューの内容を見て「元に戻す」が可能か
どうか調べたり、裏でメニューを選択して「元に戻す」を実行したり、という非
常にややこしいことをしています。
遅くなる理由は裏でエクスプローラと同等の枠をいちいち作成したりすることに
あると思いますが、これを詳細に制御することは難しです。
また、「元に戻す」の履歴が具体的にどうなっているのかを知る方法も提供され
ていないと思われるので、これも難しいです。
Windowsにアンドゥの履歴等を制御する方法が提供されていたらなんとかしたい
ところですが、現時点では難しそうです。

[ ]
RE:04781 気のせいかもしれませんが・・・No.04782
tsuzuki さん 14/05/07 22:04
 
ご返信ありがとうございます。
元に戻す/やり直し
はどうしても遅くなってしまうという理由が把握できました。

>また、「元に戻す」の履歴が具体的にどうなっているのかを知る方法も提供され
>ていないと思われるので、これも難しいです。
>Windowsにアンドゥの履歴等を制御する方法が提供されていたらなんとかしたい
>ところですが、現時点では難しそうです。

私の方でも2〜3時間かけて調べてみましたがやはり難しいみたいですね。
まずSHFileOperation/IFileOperationは無理で、自作ならFindFirstChangeNotificat
ion/ReadChangeDirectoryW/FileSystemWatcher(.NET)を使ってServiceを作り後ろで
動かす形でしょうか。
ただこれはWindowsExplorerと同期しない動作になるから搭載は見送られるという流
れかと思いました。

個人的には秀丸ファイラClassic独自のUndo/Redoで全然OKな気持ちなんですがそうも
行かない方の方が多いでしょうからね・・・。
もしいつか補助DLL等で搭載可能でしたらお願い致したく思います。

また、アンドゥの履歴でこのような記述を見つけました。

http://superuser.com/questions/347494/how-to-determine-exactly-which-file-actions-will-be-reverted-when-doing-an-undo

なるほど、やってみると私のWindows7 Pro 64bitでも見ることが出来ました。

具体的にはエクスプローラ上で

「整理」>「レイアウト」>「メニューバー」

でメニューバーを出して、

「表示」>「ステータスバー」

とします。
その後に

空いてる場所を右クリック>元に戻す

にマウスカーソルをポイントすると、ウインドウ下部のステータスバーに「元に戻
す」の内容が表示されます。
同様に「やり直し」の場合も内容が表示されます。

先のポインタではXP以降に同機能が搭載されているとのことで、WindowsXP Pro 32bi
tで確認しますと、こちらは「空いている場所を右クリック」>「元に戻す/やり直
し」ではステータスバーに表示されませんでした。

その代わりにメニューバーの「編集」>「元に戻す/やり直し」では表示されました。
これはWindows7 Pro 64bitでも動作は同じです。(試しました)

なので裏でExplorerのメニューを処理をされているということでしたら、その際にス
テータスバーのテキストを取得することは出来ますでしょうか。

もし可能でしたらステータスバーでなく、もっと見易い位置に表示していただけると
嬉しいです。


[ ]
RE:04782 気のせいかもしれませんが・・・No.04783
tsuzuki さん 14/05/07 22:16
 
失礼しました。
> ReadChangeDirectoryW

ReadDirectoryChangeW
のtypoです。

[ ]
RE:04783 気のせいかもしれませんが・・・No.04784
秀丸担当 さん 14/05/08 10:03
 

情報ありがとうございます。
裏のエクスプローラと同等の枠というのは、エクスプローラそのものではなくて、
ファイル一覧部分だけになっています。
ファイル一覧に相当する部分はIShellBrowserなどを実装することによって可能
で、無理矢理ではあるものの、一応正規(?)の方法ということになります。同じ
仕組みでXPからWindows8.1まで動いてます。
エクスプローラそのものではないので、ステータスバーは難しそうです。
できたとしてもXPでも挙動が違うということのようで、またWindows8ではステー
タスバーには表示されないようです。
そのためすみませんがやはり難しそうです。


[ ]
RE:04784 気のせいかもしれませんが・・・No.04785
tsuzuki さん 14/05/08 15:24
 
>
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
>そのためすみませんがやはり難しそうです。

ご返信ありがとうございます。
IShellBrowser、勉強になりました。有難うございます。
ステータスバーからの取得は難しいとのこと承知致しました。
当面は秀丸ファイラーClassicの操作もExplorer上では元に戻す>やり直しは効くこ
とから、ステータスバーを注視することで確認して参りたいと思います。



[ ]