| ||||||||||||||
|
ゴミ箱の中身を削除 (要SHELL32.DLL)
| ||||||||||||||
エクスプローラで削除(ゴミ箱へ移動)したファイル、またはコチラの命令で削除させた場合、 「ごみ箱」で削除ファイル一覧を確認することができ、個別または全てのファイルを元のフォルダに戻したり、 エクスプローラからは操作できないよう完全に削除してしまって空き容量を増やすことが可能です。 今回は、API関数SHEmptyRecycleBinで「ごみ箱を空にする」作業をしてみます。 通常、デスクトップに表示されるゴミ箱は、全ての削除ファイルを確認できますが、 ゴミ箱は各ドライブ毎に持っており、一括操作はドライブ単位または全ドライブで行うようになってます。 今回のサンプルモジュールでも、ドライブ名「C:¥」等を指定すればそのドライブだけが、 空文字「""」を指定すれば全ドライブが対象となって、削除することが可能です。 また、デフォルトで削除前に中止する確認メッセージを表示しない「SHERB_NOCONFIRMATION(=0x0001)」、 進行状況を示すプログレスバーを表示しない「SHERB_NOPROGRESSUI(=0x0002)」、 処理完了時のサウンドを鳴らさない「SHERB_NOSOUND(=0x0004)」の合計値を指定できます。 尚、削除が成功するとstatに「S_OK(=0x0000)」が、失敗すると 実装されていない「E_NOTIMPL(=0x80004001)」、 操作が中止された「E_ABORT(=0x80004004)」、 規定されていない「E_FAIL(=0x80004005)」、 必要なメモリ割当に失敗「E_OUTOFMEMORY(=0x8007000E)」、 1つ以上の引数が無効「E_INVALIDARG(=0x80070057)」、 非サポートのインタフェイス「E_NOINTERFACE(=0x80004002)」、 無効なポインタ「E_POINTER(=0x80004003)」、 無効なハンドル「E_HANDLE(=0x80070006)」、 一般的なアクセス拒否「E_ACCESSDENIED(=0x80070005)」、 予測不可能なエラー「E_UNEXPECTED(=0x8000FFFF)」のいずれかが返ります。 | ||||||||||||||
![]() | ||||||||||||||
| ||||||||||||||
![]() | ||||||||||||||
| ||||||||||||||