龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

在VB程序中通过回收站删除文件

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
在标准工程中添加一个公共对话框和两个按钮即可尝试本例: OptionExplicit 删除文件的API PrivateDeclareFunctionSHFileOperationLib"shell32.dll"Alias"SHFileOperationA"(lpFileOpAsToBin)AsLong 清空回收站的API Pri
在标准工程中添加一个公共对话框和两个按钮即可尝试本例:
  
  OptionExplicit
  
  '删除文件的API
  PrivateDeclareFunctionSHFileOperationLib"shell32.dll"Alias"SHFileOperationA"(lpFileOpAsToBin)AsLong
  '清空回收站的API
  PrivateDeclareFunctionSHEmptyRecycleBinLib"shell32.dll"Alias"SHEmptyRecycleBinA"(ByValhwndAsLong,ByValpszRootPathAsString,ByValdwFlagsAsLong)AsLong
  
  PrivateTypeToBin
  hwndAsLong
  wFuncAsLong
  pFromAsString
  pToAsString
  fFlagsAsInteger
  fAnyOperationsAbortedAsLong
  hNameMappingsAsLong
  lpszProgressTitleAsLong
  EndType
  
  ConstFO_DELETE=&H3
  ConstFOF_ALLOWUNDO=&H40
  ConstSHERB_NORMAL=&H0
  
  '将文件移至回收站
  PrivateSubCommand1_Click()
  DimGoAsToBin
  DimstrFileAsString
  WithCommonDialog1
  .Filter="(*.bak)|*.bak"
  .DialogTitle="删除文件"
  .ShowOpen
  strFile=.FileName
  EndWith
  
  WithGo
  .wFunc=FO_DELETE
  .pFrom=strFile
  .fFlags=FOF_ALLOWUNDO
  EndWith
  
  SHFileOperationGo
  EndSub
  
  '清空回收站
  PrivateSubCommand2_Click()
  DimRetValAsLong
  RetVal=SHEmptyRecycleBin(0&,vbNullString,SHERB_NORMAL)
  EndSub->

精彩图集

赞助商链接