博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取在Windows 资源管理器中执行COPY/PASTE的文件列表信息
阅读量:2393 次
发布时间:2019-05-10

本文共 502 字,大约阅读时间需要 1 分钟。

在文件传输模块开发过程中,要实现这样的一个功能:在资源管理器中对选中的文件或者文件夹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

转载地址:http://azeab.baihongyu.com/

你可能感兴趣的文章
扒照片
查看>>
业务负荷管理实现
查看>>
python2.4升级到python2.6
查看>>
su: cannot set user id: Resource temporarily unavailable
查看>>
SSHException: Incompatible ssh peer (no acceptable kex algorithm)
查看>>
shell切换用户
查看>>
session机制详解
查看>>
《算法导论》学习总结——第二部分1堆排序
查看>>
linux下进程的一些总结
查看>>
强大的g++呢还是强大的C++?太假了吧
查看>>
C++中的内联函数inline总结
查看>>
C++中的函数指针的一些总结
查看>>
ubuntu下为postgresql添加ODBC驱动过程
查看>>
linux下的su,su -,以及cd,cd - ,cd ~总结
查看>>
CAS锁为什么是乐观锁呢
查看>>
Argument of type '(Foo::)(int,int)' does not match 'void (*)(int,int)'以及静态函数问题
查看>>
今天遇到的postgresql中的备份和恢复
查看>>
正好碰到了C++的函数对象,查各路资料,总结写下来吧
查看>>
今天试vi遇到的“Sorry,the command is not available in this version : syntax on”
查看>>
今天又搞到个libDTL.so is not an ELF file - it has the wrong magic bytes at the start.
查看>>