对回收站里的文件进行操作

本篇文章主要为大家详细介绍了C++如何使用代码对回收站里的文件进行操作,譬如文件的删除与恢复等。

方式一:设置不同的SHFILEOPSTRUCT结构体,调用SHFileOperation函数就可以实现拷贝、删除、移动等文件操作

SHGetSpecialFolderLocation函数:

原型:

HRESULT SHGetSpecialFolderLocation(HWND hwnd, int csidl,
PIDLIST_ABSOLUTE* ppidl)

该函数用于获取特殊文件夹的物理路径。它接受以下参数:

  • hwnd:可选参数,指定父窗口的句柄。如果不需要与窗口关联,可以设置为NULL。

  • csidl:表示特殊文件夹的标识符(CSIDL),用于指定要获取的文件夹。

  • ppidl:一个指向PIDLIST_ABSOLUTE类型的指针,用于接收文件夹的ITEMIDL

VERSION 5.00 Begin VB.Form Form1 Caption = "清空回收站" ClientHeight = 2595 ClientLeft = 60 ClientTop = 345 ClientWidth = 4680 Icon = "Form1.frx":0000 LinkTopic = "Form1" ScaleHeight = 2595 ScaleWidth = 4680 StartUpPosition = 1 '所有者中心 Begin VB.CommandButton Command1 Caption = "清空回收站" Height = 810 Left = 1020 Style = 1 'Graphical TabIndex = 1 Top = 840 Width = 1200 End Begin VB.CommandButton Command2 Caption = "退出" Height = 810 Left = 2385 TabIndex = 0 Top = 840 Width = 1200 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False '函数声明 Private Declare Function SHEmptyRecycleBin Lib "shell32.dll" Alias "SHEmptyRecycleBinA" _ (ByVal hwnd As Long, ByVal pszRootPath As String, ByVal dwFlags As Long) As Long Private Declare Function SHUpdateRecycleBinIcon Lib "shell32.dll" () As Long Private Const SHERB_NOCONFIRMATION = &H1; Private Const SHERB_NOPROGRESSUI = &H2; Private Const SHERB_NOSOUND = &H4; Private Sub Form_Load() '为按钮加载图标 Command1.Picture = LoadPicture(App.Path & "\full.ico") End Sub Private Sub Command1_Click() Dim myval As Long ' 清空回收站 myval = SHEmptyRecycleBin(Form1.hwnd, "", SHERB_NOPROGRESSUI) If myval 0 Then myval = SHUpdateRecycleBinIcon() End If '为按钮加载图标 Command1.Picture = LoadPicture(App.Path & "\empty.ico") MsgBox "回收站已被清空!", vbInformation, "【提示信息】" End Sub Private Sub Command2_Click() End End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芯动大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值