获取在Windows 资源管理器中执行COPY/PASTE的文件列表信息
2012-03-30 16:26
309 查看
在文件传输模块开发过程中,要实现这样的一个功能:在资源管理器中对选中的文件或者文件夹CTRL+C,在聊天窗口中按下CTRL+V,获取用户选择的文件或文件夹发送给对端用户。这其中存在一个问题:如何从剪切板数据中获取用户选择了哪些文件或文件夹呢?经研究和测试,用如下的代码可以获取到文件列表信息:
if( ::OpenClipboard( NULL ) ) // 打开剪切板 { HDROP hDrop = HDROP( ::GetClipboardData( CF_HDROP ) ); // 获取剪切板中复制的文件列表相关句柄 if( hDrop != NULL ) { char szFilePathName[MAX_PATH+1] = {0}; UINT nNumOfFiles = DragQueryFile( hDrop, 0xFFFFFFFF, NULL, 0 ); // 得到文件个数 // 考虑到用户可能同时选中了多个对象(可能既包含文件也包含文件夹),所以要循环处理 for ( UINT nIndex=0 ; nIndex<nNumOfFiles; ++nIndex ) { memset( szFilePathName, 0, MAX_PATH+1 ); DragQueryFile( hDrop, nIndex, szFilePathName, MAX_PATH ); // 得到文件名 } } ::CloseClipboard(); // 关闭剪切板 }
相关文章推荐
- 获取windows可执行文件的version信息(版本号)
- 获取windows可执行文件的version信息(版本号)
- FTP服务的LIST指令获取的文件列表信息的解析
- C++文件操作——获取可执行文件或DLL版本信息
- Windows和Linux下获取当前可执行文件路径和工作目录
- Powershell脚本获取列表上event receiver信息并输出到一个csv文件中
- Windows下C编程获取软件安装列表信息
- 在Windows下获取控制台(DOS)下可执行文件的标准输入输出
- FTP服务的LIST指令获取的文件列表信息的解析
- 在Windows上获取进程的可执行文件路径
- 【windows内核驱动开发】文件系统微过滤驱动Minifilter——获取进程信息
- FTP服务的LIST指令获取的文件列表信息的解析
- Xcode9学习笔记74 - 读取和解析Plist属性列表文件(获取远程服务器信息并显示返回数据)
- 在C/C++中获取可执行文件的图标和信息
- 2_Windows下利用批处理文件获取命令行命令帮助信息
- Java获取Windows CMD窗口执行命令的返回信息【转自国外某网站】【转自Cratical】
- JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤
- C/C++,windows 和 linux 获取目录下文件列表的方法
- windows下设置QT程序的版本信息、程序图标和可执行文件图标
- ORACLE获取操作系统(WINDOWS+LINUX)目录下文件列表