Last Updated 2004/01/15 |
Programming Tips Windows | 索 引 |
フォルダ名変更後の処理
2004/01/15
あるフォルダ名を MoveFile() にて変更した場合,そのフォルダをエクスプローラーなどで開いていると以前の名称のまま残ってしまう. そしてそのフォルダにアクセスすると「存在しません」とエラーになる. 「最新の情報に更新」すると正常に表示される. エクスプローラーからフォルダ名の変更をすると直ちに更新される. これはシェルに影響があるから,その通知を行っているからと考えられる. 事実,SHChangeNotify() の説明にはシェルに影響がある時に使用するべきと書いてあり,影響のある項目として "Renamed a folder" と書かれてある. SHFileOperation() で名称を変更した時には SHChangeNotify() を行わなくてもシェルに通知される. SHFileOperation() がその辺も考慮して動作していると考えられる. 参照 |
|