Qt 删除文件

Qt 删除文件,第1张

Qt是从Linux移植的,Linux下完全没有回收站这种东西(个别Linux发行版也只是用特殊的方式实现了自己的回收站),所以Qt没有对回收站的支持。

Windows独有的东西就要用Windows的API来做(可以在Qt程序中使用,包含需要的头文件就行),不过说实的,我一直认为Windows的API设计得很屎。

所以我建议你下载个CmdUtils:http://www.maddogsw.com/cmdutils/cmdutils.zip

解压后你可消中以选择:

把recycle.exe拷贝到你拿陵山的项目,用QProcess来调用

参考压缩包里的源文件,recycle.c,看它是怎么写的汪芹

重点看或者干脆复制这个函数:

BOOL RecycleFiles (char** filenames, int nFiles, BOOL bConfirmed)

如果你懒得下载,直接把代码拷给你:(但是个人觉得,其他的文件也许也会对你有帮助)

#include <windows.h>

#include <stdlib.h>

BOOL RecycleFiles (char** filenames, int nFiles, BOOL bConfirmed)

{

SHFILEOPSTRUCT opRecycle

char* pszFilesToRecycle

char* pszNext

int i, len

BOOL success = TRUE

char szLongBuf[MAX_PATH]

char* lastComponent

//fill filenames to delete

len = 0

for (i = 0 i < nFiles i++)

{

GetFullPathName (filenames[i], sizeof(szLongBuf), szLongBuf, &lastComponent)

len += lstrlen (szLongBuf) + 1

}

pszFilesToRecycle = malloc (len + 1)

pszNext = pszFilesToRecycle

for (i = 0 i < nFiles i++)

{

GetFullPathName (filenames[i], sizeof(szLongBuf), szLongBuf, &lastComponent)

lstrcpy (pszNext, szLongBuf)

pszNext += lstrlen (pszNext) + 1 //advance past terminator

}

*pszNext = 0 //double-terminate

//fill fileop structure

opRecycle.hwnd = NULL

opRecycle.wFunc = FO_DELETE

opRecycle.pFrom = pszFilesToRecycle

opRecycle.pTo = "\0\0"

opRecycle.fFlags = FOF_ALLOWUNDO

if (bConfirmed)

opRecycle.fFlags |= FOF_NOCONFIRMATION

opRecycle.lpszProgressTitle = "Recycling files..."

if (0 != SHFileOperation (&opRecycle))

success = FALSE

if (opRecycle.fAnyOperationsAborted)

success = FALSE

free (pszFilesToRecycle)

return success

}

不要覆盖以前的QQ堂版本3.0版本下!你应该安装在新文件夹

(\ Program Files文件\腾讯\ QQ堂\音)

可能的病毒还是真的损坏

然后重装系统的更好地掩盖不了QQ堂版本涵盖了很多的问题,我是针对这种情况,我经历过的,最好的办法就是搜索计算机运行Chkdsk,然后他跑大前了几分钟后重新启动机器,然后机器,然后重新启动的话其他的动激信机,让他开始(移动的话就不能玩桌面上是一片空白,如果一个不小的心脏,请重新启动机器),然后会出现许多英语一直滚动,你不担心他(他修复文件)等,将是良好的,所以恢复,重新下载QQ堂,你可以! OK!您需要的一个QT文件删除。

维修方法:

“打开”菜单,选择“运行”,然后电脑会自动寻找丢失或丢失的文件回来,他会问你,如果你将失去在“打开”输入Chkdsk的链接转换成文件,最后将是一个N>您选择,Y =是,N =否,应该了明仿轮解它。键入y,然后按回车键后,一切就OK了。然后,你可以重新安装QT程序。

删除重装这个建议,我不建议使用。

因为缺少这个文件从您的计算机,然后加载的数量有时是徒劳的。运行CHKDSK不会占用你太多的时间,所以我建议你把它找回来或去重新下载。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12208105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存