プログラミング工房 > HSP > サンプルモジュール > ごみ箱を空にする >

/***********************************************************

	ごみ箱操作モジュール

		【2005/09/25 更新】

		命令一覧

		emptyrbin		// ごみ箱を空にする

			実行前に確認ダイアログなどを表示したい場合は
			SHEmptyRecycleBinA関数の第3引数を修正して下さい。

***********************************************************/
#module recyclebin

#uselib	"shell32.dll"
#func	SHEmptyRecycleBinA	"SHEmptyRecycleBinA"	int,sptr,int
;	hWnd		ダイアログの親ウィンドウのハンドル。NULL(0)でも良い?
;	pszRootPath	ごみ箱を空にするドライブ名(例:"c:\")または
;				空文字列("")(=全ドライブ)
;	dwFlags		動作オプションフラグ(下記参照)。0でも良い。

/* SHEmptyRecycleBin関数の第3引数に指定できるフラグ。ORで複数指定可 */
#const	SHERB_NOCONFIRMATION	1	// 「ファイル削除の確認」ダイアログを表示しない
#const	SHERB_NOPROGRESSUI		2	// 進行状況を示すダイアログを表示しない
#const	SHERB_NOSOUND			4	// 操作が終わった後、音を鳴らさない

/* SHEmptyRecycleBin関数のエラーコード。0が戻った場合は成功 */
#const	E_ABORT			0x80004004
#const	E_ACCESSDENIED	0x80070005
#const	E_FAIL			0x80004005
#const	E_HANDLE		0x80070006
#const	E_INVALIDARG	0x80070057
#const	E_NOINTERFACE	0x80004002
#const	E_NOTIMPL		0x80004001
#const	E_OUTOFMEMORY	0x8007000E
#const	E_POINTER		0x80004003
#const	E_UNEXPENCTED	0x8000FFFF

/**********************************************************/
// ごみ箱を空にする
/**********************************************************/
#deffunc emptyrbin
	id = ginfo_sel
	gsel 0
	SHEmptyRecycleBinA hwnd,"",SHERB_NOCONFIRMATION | SHERB_NOPROGRESSUI | SHERB_NOSOUND
	gsel id
	return

/**********************************************************/
#global