if (::OpenClipboard(NULL) && ::IsClipboardFormatAvailable(CF_HDROP))
{
HDROP hDrop = (HDROP)::GetClipboardData(CF_HDROP);
if (hDrop != NULL)
{
TCHAR filename[MAX_PATH];
int fileCount = ::DragQueryFile(hDrop, 0xFFFFFFFF, filename, MAX_PATH);
for (int i = ; i < fileCount; ++i)
{}
}
}

1.OpenClipboard,

BOOL OpenClipboard(
__in HWND hWndNewOwner
);
参数
hWndNewOwne Long类型,与打开剪切板相关联的窗口句柄。如果这个参数为NULL,打开剪贴板与当前任务相关联。
返回值
如果函数执行成功,返回非零值.
如果函数执行失败,返回零,为了获得更多的错误信息,调用GetLastError.
 
2.IsClipboardFormatAvailable
常用剪贴板数据格式:
CF_TEXT 以NULL结尾的ASCII字符的文本格式
CF_BITMAP 图像句柄HBITMAP
注:若应用程序要识别多个剪贴板格式,应使用函数GetPriorityClipboardFormat 达到目的。
 
3.GetClipboardData
获得剪切板的数据。
 
4.DragQueryFile(hDrop, 0xFFFFFFFF, filename, MAX_PATH)
DragQueryFile是一个成功拖放操作后获取被拖放文件的名称等信息的函数。
 
UINT DragQueryFile(
HDROPhDrop,
UINTiFile,
LPTSTRlpszFile,
UINTcch
);
 
hDrop
Identifier of the structure containing the file names of the dropped files.
用于区分”包含被拖拽文件名称结构”的句柄。
即存放所拖放文件名称的数据结构的句柄,也就是文件名缓冲区的句柄
 
iFile
Index of the file to query. If the value of theiFileparameter is 0xFFFFFFFF,DragQueryFilereturns a count of the files dropped. If the value of theiFileparameter is between zero and the total number of files dropped,DragQueryFilecopies the file name with the corresponding value to the buffer pointed to by thelpszFileparameter.
文件索引编号(用于指明所要查询文件的序号, 如果拖进多个文件,则索引编号从零开始),如果iFile值为 0xFFFFFFFF 时,返回的是拖曳到窗体上的文件的个数。如果iFile值在0和拖拽文件总数之间时,DragQueryFile拷贝与文件名存储缓冲区大小适应的文件名称到缓冲区中。
 
lpszFile
Address of a buffer to receive the file name of a dropped file when the function returns. This file name is a null-terminated string. If this parameter is NULL,DragQueryFilereturns the required size, in characters, of the buffer.
函数返回时,用于存储拖拽文件名称的缓冲指针。文件名称是一个以空终止“\0”结尾的字符串。如果此参数是NULL,DragQueryFile函数返回拖拽的文件名的长度。函数DragQueryFile得到的文件名,是带完整路径的文件名。
 
cch
Size, in characters, of thelpszFilebuffer.
存储拖拽文件名称缓冲区的大小,即lpszFile指针所指缓冲区的字符数。
 
http://baike.baidu.com/link?url=8iXrSheAjTSKFIVYCjnMh2t6dmcym2LQyQ5_RjKSLDzryNRPWt4Wsulq00OF3_wk43iwPRNjwU9_g4poBmulG05_IyVJrA8fYwXCLWqZoOa
 

C++打开剪切板,获取剪切板数据的更多相关文章

  1. 浏览器中用JavaScript获取剪切板中的文件

    本文转自我的个人网站  , 原文地址:http://www.zoucz.com/blog/2016/01/29/get-file-from-clipboard/  ,欢迎前往交流讨论 在网页上编辑内容 ...

  2. C#获取剪切板的内容

    // GetDataObject获取当前剪贴板上的数据 IDataObject data = Clipboard.GetDataObject(); // 将数据与指定的格式进行匹配,返回bool if ...

  3. 微信小程序--设置和获取剪切板内容

    设置 wx.setClipboardData  // 复制功能 获取 wx.getClipboardData // 粘贴功能     let _this = this     wx.setClipbo ...

  4. 获取剪切板上DataFormats.Dib格式的文件

    if (formats.Contains(System.Windows.Forms.DataFormats.Dib)) { using (var img = System.Windows.Forms. ...

  5. Android剪切板传递数据传递序列化对象数据

    一.剪切板的使用介绍 1. 剪切板对象的创建 使用剪切板会用到,ClipboardManager对象,这个对像的创建不可以使用构造方法,主要是由于没有提供public的构造函数(单例模式),需要使用A ...

  6. Android 使用剪切板传递数据

    使用剪切板传递数据,可以传递简单的数据,也可以传递可序列化的对象. 首先来个简单点吧. 首先在,mainActivity.xml文件中加入一个button按钮 private Button butto ...

  7. C# 使用WinApi操作剪切板Clipboard

    前言: 最近正好写一个程序,需要操作剪切板 功能很简单,只需要从剪切板内读取字符串,然后清空剪切板,然后再把字符串导入剪切板 我想当然的使用我最拿手的C#来完成这项工作,原因无他,因为.Net框架封装 ...

  8. 【Windows API】OpenClipboard --- 剪切板(转)

    原文转自 http://www.cnblogs.com/wind-net/archive/2012/11/01/2749558.html 剪切板:系统维护的一个全局公共内存区域.每次只允许一个进程对其 ...

  9. 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件

    [源码下载] 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件 作者:webabcd 介绍重新想象 Windows 8 Store ...

随机推荐

  1. C# IOThread

    在看微软的ASP.NET - 将 ASP.NET 用作高性能文件下载器 示例里面用到了IO 线程,以前打算自己撸的,这里贴出来 已标记一下: ///////////////////////////// ...

  2. 版本控制:tortoise svn的 revert to this revision和 revert changes from this revision有什么区别?

    问题: The link: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html describes ...

  3. HOWTO: 如何利用Avizo或Amira计算孔隙率(Porosity)

    在做三维可视化数据处理过程中,我们经常要提取的一个基本信息就是孔隙率.在今天的文章中我们要分享两个信息,一个是如何利用Avizo或Amira进行孔隙率计算:另外是关于Avizo 8.0中孔隙率计算异常 ...

  4. 【JavaScript从入门到精通】第三课 初探JavaScript魅力-03

    第三课 初探JavaScript魅力-03 函数传参 上节课的时候我们已经讲了什么是函数,实际上,函数在功能上就类似于css的class一样,将一段代码包裹起来使用.为了让函数的功能更加的丰富和实用, ...

  5. UseSwagger

    if [ "$UseSwagger" != "true" ]; then sed -i "s/\"UseSwagger\": tr ...

  6. 【Android自己定义控件】圆圈交替,仿progress效果

    还是我们自定View的那几个步骤: 1.自己定义View的属性 2.在View的构造方法中获得我们自己定义的属性 3.重写onMesure (不是必须) 4.重写onDraw 自己定义View的属性 ...

  7. FileClassify文件日期分类工具

    FileClassify是一款免费的文件按日期分类工具,能够根据文件修改日期,将文件移动或复制到对应的目录中 如果对您有较大的帮助,欢迎捐赠我们,我们对您表示衷心的感谢! 1.输入文件夹和输出文件可以 ...

  8. 评分卡模型剖析之一(woe、IV、ROC、信息熵)

    信用评分卡模型在国外是一种成熟的预测方法,尤其在信用风险评估以及金融风险控制领域更是得到了比较广泛的使用,其原理是将模型变量WOE编码方式离散化之后运用logistic回归模型进行的一种二分类变量的广 ...

  9. Java 连接MongoDB集群的几种方式

    先决条件 先运行mongodb肯定是必须的,然后导入以下包: import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; im ...

  10. PHP,PSR开发规范

    https://github.com/hfcorriez/fig-standards/tree/zh_CN/%E6%8E%A5%E5%8F%97 PSR-1-basic-coding-standard ...