Last Updated 2004/01/15
Programming Tips Windows  索 引 
フォルダ名変更後の処理
2004/01/15

あるフォルダ名を MoveFile() にて変更した場合,そのフォルダをエクスプローラーなどで開いていると以前の名称のまま残ってしまう.
そしてそのフォルダにアクセスすると「存在しません」とエラーになる.
「最新の情報に更新」すると正常に表示される.

エクスプローラーからフォルダ名の変更をすると直ちに更新される.
これはシェルに影響があるから,その通知を行っているからと考えられる.

事実,SHChangeNotify() の説明にはシェルに影響がある時に使用するべきと書いてあり,影響のある項目として "Renamed a folder" と書かれてある.

SHFileOperation() で名称を変更した時には SHChangeNotify() を行わなくてもシェルに通知される.
SHFileOperation() がその辺も考慮して動作していると考えられる.


参照
前後のTips
フォルダ名変更後の処理

DSS ProgrammingTipsCGI Ver2.02