ShFileOperation函数详解

ShFileOperation函数详解[WinAPI]ShFileOperation函数详解2010-04-1110:24ShFileOperation只有一个参数是LPSHFILEOPSTRUCT型的相当于delphi中的TSHFileOpStruct;  c语言定义为:  typedef struct _SHFILEOPSTRUCT{   HWND         hwnd

大家好,又见面了,我是你们的朋友全栈君。[WinAPI]ShFileOperation函数详解

2010-04-11 10:24

ShFileOperation只有一个参数是LPSHFILEOPSTRUCT型的相当于delphi中的TSHFileOpStruct;   

c语言定义为:   

typedef   struct   _SHFILEOPSTRUCT{     

HWND                   hwnd;     

UINT                   wFunc;     

LPCSTR               pFrom;     

LPCSTR               pTo;     

FILEOP_FLAGS   fFlags;     

BOOL                   fAnyOperationsAborted;     

LPVOID               hNameMappings;     

LPCSTR               lpszProgressTitle;     

}   SHFILEOPSTRUCT,   FAR   *LPSHFILEOPSTRUCT;     

相应的pascal就是:   

type     

_SHFILEOPSTRUCTA   =   packed   record   

Wnd:   HWND;   

wFunc:   UINT;   

pFrom:   PAnsiChar;   

pTo:   PAnsiChar;   

fFlags:   FILEOP_FLAGS;   

fAnyOperationsAborted:   BOOL;   

hNameMappings:   Pointer;   

lpszProgressTitle:   PAnsiChar;   {   only   used   if   FOF_SIMPLEPROGRESS   }   

end;     

hwnd:用来显示操作状态的对话框句柄。   例中是form1的句柄   

wFunc:执行的操作。可以是以下各值:(例中是FO_COPY)   

FO_COPY:拷贝pfrom域中指定的(目录,例中是’c:\a’)到pto中指定的位置(例中为’c:\b’)     

FO_DELET:删除pfrom中指定的文件.       (pTo不用)     

FO_MOVE:移动PFrom中指定的文件到pto中指定的位置。       

FO_RENAME:给PFrom中指定的文件改名。   

pFrom:指定一个或多个源文件名的缓冲区地址。多个名字必须用NULL分隔。名字列表必须用两个NULL(nil,’\0′)来结束。   

pTo:目标文件或目录名缓冲区地址。   如果fFlags域指定FOF_MULTIDESTFILES,缓冲区可以包含多个目标文件名。多个名字必须用NULL分隔。名字列表必须用两个NULL(nil,’\0′)   

fFlags   :控制操作的标志,可以是以下各值组合:   

FOF_ALLOWUNDO:保留Undo信息,   如果pFrom没有包含全的绝对的路径或文件名此值忽略。   

FOF_CONFIRMMOUSE:没有实现.   

FOF_FILESONLY:只有文件名使用通配符时(*.*)才对文件操作。   

FOF_MULTIDESTFILES:     pTo域指一定了多个目标文件.(一个对就一个源文件)   而不是指定一个目录来存放所有源文件       

FOF_NOCONFIRMATION:所有显示的对话框全部选择yes   to   all   

FOF_NOCONFIRMMKDIR:   如果需要创建一个新目录不确认。   

FOF_NOCOPYSECURITYATTRIBS:     4.71.   Microsoft®   Windows   NT®   only.   安全属性不复制.   

FOF_NOERRORUI:发生错误时不提供用户接口。   

FOF_RENAMEONCOLLISION:     move,copy,rename操作时如目标文件存在,给操作的文件另起一个名字。   

FOF_SILENT:不显示进度对话框   

FOF_SIMPLEPROGRESS:显示进度对话框但不显示文件名。   

FOF_WANTMAPPINGHANDLE:如果指定了FOF_RENAMEONCOLLISION   当任何文件改名时将填写hNameMappings   域   

fAnyOperationsAborted:当用户在完成前取消任何文件操作时赋值TRUE,否则FALSE.   

hNameMappings:一个包含SHNAMEMAPPING结构数组的文件名映射对象句柄.   每一个(SHNAMEMAPPING)结构包括一个旧的或新的目录名为了每一个移动的复制的改名的文件。这个域仅在fFlags域包括 FOF_WANTMAPPINGHANDLES标志时使用。句柄必须使用SHFreeNameMappings来释放(用完后)   

lpszProgressTitle   :进程对话框的标题串地址。仅在fFlags中包括FOF_SIMPLEPROGRESS标志时使用。   

如果pFrom和pTo不是一个绝对目录时,当前目录从全局当前盘符和当前目录中取得,同时目录设置由GetCurrentDirectory   和SetCurrentDirectory   函数维护.   

另外附上:   

ExtractFileName//获得文件名   

ExtractFilePath//获得文件路径   

ExtractFileExt//获得文件扩展名

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160988.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PyCharm的安装和配置(社区版)「建议收藏」

    PyCharm的安装和配置(社区版)「建议收藏」Python学习基础笔记一、PyCharm的安装和配置二、Python基础语法2.1、概率2.2、标识符一、PyCharm的安装和配置二、Python基础语法2.1、概率2.2、标识符

  • linux load average负载详细解释「建议收藏」

    linux load average负载详细解释「建议收藏」转载至linuxloadaverage负载详细解释一、loadaveragetop命令中loadaverage显示的是最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载表示  系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。如果一个进程满足以下条件则其就会位于运行队列中:  -它没有在等待I/O操作的结果  -它没有主动…

  • javac命令无法使用解决办法

    javac命令无法使用解决办法javac命令无法使用,java环境变量配置。

  • Python的pywifi模块

    Python的pywifi模块想蹭❤️小姐姐的热点❤️被拒后,我用❤️Python来暴力激活成功教程了WiFi的密码❤️文章目录想蹭❤️小姐姐的热点❤️被拒后,我用❤️Python来暴力激活成功教程了WiFi的密码❤️一、起因背景二、需求分析三、代码实现1、生成密码本2、利用密码本进行自动化的测试3、结果展示四、后续总结一、起因背景这天博主和曾经的一个小姐姐同学凑巧同时坐在了同一辆长途客车上,恰谈之后才了解到原来这位小姐姐家里挺富裕的,居然,开通了无限的流量使用权限,博主心想,既然是老同学了,借用一下这个无限的流量应该是没什么问题吧,反正是

  • Windows AD域功能介绍、Windows AD域方案介绍

    Windows AD域功能介绍、Windows AD域方案介绍WindowsAD域功能介绍、WindowsAD域方案介绍功能一、AD域管理https://www.manageengine.cn/products/ad-manager/1、AD域管理通过批量创建和编辑用户帐户,指派管理权限等,简化WindowsAD域的管理。2、批量管理域用户使用CSV文件批量导入用户、编辑用户属性、重置密码、批量迁移用户和用户对象。3、批量创建域用…

  • 憨批的语义分割重制版5——Keras 搭建自己的Unet语义分割平台

    憨批的语义分割重制版5——Keras 搭建自己的Unet语义分割平台憨批的语义分割12——Keras搭建自己的Unet语义分割平台注意事项学习前言什么是Unet模型代码下载Unet实现思路一、预测部分1、主干网络介绍2、加强特征提取结构3、利用特征获得预测结果二、训练部分1、训练文件详解2、LOSS解析训练自己的Unet模型注意事项这是重新构建了的Unet语义分割网络,主要是文件框架上的构建,还有代码的实现,和之前的语义分割网络相比,更加完整也更清晰一些。建议还是学习这个版本的Unet。学习前言重置一下我最喜欢的Unet。什么是Unet模型Unet是一个优秀

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号