スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
 

フォルダの監視(Tablacus Explorer)

Tablacus Explorer 14.2.10からシェル関数のSHChangeNotifyRegister関数でフォルダを監視するようにしました。

フォルダ内の更新はエクスプローラ互換のコントロールを使っている関係で自動的にやってくれるので、今回は開いているタブのフォルダ自体が削除されたり、名前が変更された場合に対応できる様に対策しました。

SHChangeNotifyRegisterでデスクトップを指定してfRecursiveをTRUEにすれば、すべてのフォルダやファイルを削除やリネーム等の通知対象にできます。

ただ、更新日時の変更等の細かい通知はこれでは取得できず、その親フォルダをSHChangeNotifyRegisterで指定する必要があります。

また、SHChangeNotifyRegister関数では気を付けなければいけない事があります。
それは、SHCNE_RENAMEITEMやSHCNE_RENAMEFOLDERで取得する名前の変更後のITEMIDLISTが壊れているようでそのままでは使えない事です。
一度、文字列に直してITEMIDLISTに戻すと上手くいきます。
そして、SHChangeNotifyRegisterで指定したフォルダはロックされます。ディスクの取り出しを選んだ時の通知を取る方法があれば良いのだけれど……
スポンサーサイト
 

コメント

コメントの投稿

  • URL
  • コメント内容
  • password
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL: http://gakana.blog34.fc2.com/tb.php/75-40da4a9d
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。