ゴミ箱を空にする

ファイルなどをゴミ箱に削除するのはSHFileOperationを、ゴミ箱を空にするにはSHEmptyRecycleBinを利用する。
SHEmptyRecycleBinは各ドライブごとに存在するゴミ箱を個別に削除できるが、ここでは一括前ドライブのゴミ箱を空にしている。

#include "shellapi.h"

//
//	ゴミ箱を空にする
//
//ゴミ箱が既に空でもtrueが返る
//
bool	EmptyRecycleBin(void)
{
	HRESULT	hr;

	hr = ::SHEmptyRecycleBin(NULL,NULL,SHERB_NOCONFIRMATION | SHERB_NOPROGRESSUI | SHERB_NOSOUND);

	return	SUCCEEDED(hr) ? true : false;
}



void	Test(void)
{
	bool	ret;

	ret = EmptyRecycleBin();

	if(ret)
		::MessageBox(NULL,_T("ゴミ箱を空にしました"),_T(""),MB_OK);
	else
		::MessageBox(NULL,_T("ゴミ箱を空にできませんでした"),_T(""),MB_OK);
}

プロジェクトファイルをダウンロード


カテゴリー「ファイル・フォルダ」 のエントリー