VCpp实现清空回收站

⌚Time: 2022-10-15 13:51:16

👨‍💻Author: Jack Ge


SHSTDAPI SHEmptyRecycleBinA(

  [in, optional] HWND   hwnd,

  [in, optional] LPCSTR pszRootPath,

                 DWORD  dwFlags

);

参数

[in, optional] hwnd



类型:HWND



操作期间可能显示的任何对话框的父窗口的句柄。 此参数可以为 NULL。



[in, optional] pszRootPath



类型: LPCTSTR



最大长度为 null 的字符串的地址MAX_PATH,其中包含回收站所在的根驱动器的路径。 此参数可以包含格式化为驱动器、文件夹和子文件夹名称的字符串的地址,例如 c:\windows\system。 它还可以包含空字符串或 NULL。 如果此值为空字符串或 NULL,则会清空所有驱动器上的所有回收站。



dwFlags



类型:DWORD



以下一个或多个值。



SHERB_NOCONFIRMATION

不会显示任何确认删除对象的对话框。



SHERB_NOPROGRESSUI

不显示指示进度的对话框。



SHERB_NOSOUND

操作完成后不会播放任何声音。



返回值

类型: HRESULT



如果此函数成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。



最低受支持的客户端   Windows 2000 Professional、Windows XP [仅限桌面应用]

最低受支持的服务器   Windows 2000 Server [仅限桌面应用]

目标平台    Windows

标头  shellapi.h

Library Shell32.lib

DLL Shell32.dll (版本 4.71 或更高版本)

API 集   Windows 10版本 10.0.14393) 中引入 ext-ms-win-shell-shell32-l1-2-2 (

代码


#include<windows.h>

#include<WinUser.h>

#pragma comment(lib, "Shell32.lib")

int main()

{

    SHEmptyRecycleBin(NULL,NULL,SHERB_NOCONFIRMATION|SHERB_NOPROGRESSUI);

}