BCB中利用剪贴板复制粘贴
将一个字符串拷贝到剪贴版中的不同方法: #include <vcl/Clipbrd.hpp> // 方法一:TClipboard *pClipboard = new TClipboard();pClipboard->AsText = "拷贝到剪贴版的文字数据";delete pClipboard; // 方法二:TClipboard *pClipboard = new TClipboard();pClipboard->SetTextBuf("拷贝到剪贴版的文字数据");delete pClipboard; // 方法三:Clipboard()->SetTextBuf("拷贝到剪贴版的文字数据"); // 方法四:Clipboard()->AsText = "拷贝到剪贴版的文字数据";
// 将文件Copy到剪贴板
bool CopyFileToClip(LPCSTR pcFile)
{
// sFile为拷贝文件名,多个文件以/0分隔,以/0/0结束
int nLen;
BYTE *pData;
HGLOBAL hGbl;
DROPFILES df;
if(!pcFile || !pcFile[0])
return false;
if(!OpenClipboard(0))
return false;
EmptyClipboard();
df.fNC = false;
df.fWide = false;
df.pFiles = sizeof(df);
df.pt.x = df.pt.y = 0;
for(nLen=0; pcFile[nLen]!=0; )
nLen += strlen(pcFile + nLen) + 1;
nLen += 1; //最后结尾的第二个/0字符
hGbl = GlobalAlloc(GHND, sizeof(df) + nLen);
pData = (BYTE*)GlobalLock(hGbl);
if(pData != NULL)
{
memcpy(pData, &df, sizeof(df));
memcpy(pData + sizeof(df), pcFile, nLen);
GlobalUnlock(hGbl);
if(!SetClipboardData(CF_HDROP, hGbl))
{
GlobalFree(hGbl);
hGbl = NULL;
}
}
else if(hGbl != NULL)
{
GlobalFree(hGbl);
hGbl = NULL;
}
CloseClipboard();
return (hGbl != NULL);
}
//---------------------------------------------------------------------------
// 从剪贴板Paste出文件
bool PasteFileFromClip(LPCSTR pcDesDir)
{
int nLen;
bool bReturn;
LPCSTR lpcData;
HGLOBAL hGbl;
AnsiString strTemp;
DROPFILES *pdf;
SHFILEOPSTRUCT fos;
if(!pcDesDir || !pcDesDir[0])
return false;
if(!OpenClipboard(0))
return false;
hGbl = GetClipboardData(CF_HDROP);
pdf = hGbl? (DROPFILES*)GlobalLock(hGbl): NULL;
if(pdf == NULL)
{
CloseClipboard();
return false;
}
lpcData = (LPCSTR)pdf + pdf->pFiles;
memset(&fos, 0, sizeof(fos));
if(pdf->fWide)
{
strTemp = WideCharLenToString((wchar_t*)lpcData, GlobalSize(hGbl)-pdf->pFiles);
fos.pFrom = strTemp.c_str();
}
else
fos.pFrom = lpcData;
fos.wFunc = FO_COPY;
fos.pTo = pcDesDir;
bReturn = SHFileOperation(&fos)==0;
GlobalUnlock(hGbl);
CloseClipboard();
return bReturn;
}
// if(CopyFileToClip("C://1.txt/0C://Test.exe/0"))
// PasteFileFromClip("D://");
BCB中利用剪贴板复制粘贴相关推荐
- textview 复制粘贴_Android TextView使用剪贴板复制粘贴
textview 复制粘贴 In this tutorial, we'll implement the copy-paste feature on a TextView in our Android ...
- matlab 里的数据粘贴不出来怎么办,为什么excel表格数据复制不出来怎么办_为什么excel中内容不能复制粘贴...
excel里面的数字为什么复制不出来怎么办 因为是带公式的,直接复制到另张表中.公式中的单元格会相对变动的. 你可以这样操作 复制这个和, 然后选中你要粘的位置 右击菜单-选择性粘贴-数值. exce ...
- python中如何实现复制粘贴_复制粘贴功能的Python程序 python 中如何实现
python 中如何实现对文件的复制.粘贴虽然小编心有不甘,可是小编也明白,这辈子就只能陪你到这了. 比如说:小编想将"c:\123\1.txt"复制到"d:\新建文件夹 ...
- iPhone苹果手机iOS16剪贴板复制粘贴确认弹窗怎么关闭清理剪切板提醒设置方法的教程?
iPhone苹果手机iOS16系统已推送更新,随着越来越多的苹果iPhone手机升级到iOS16系统,有不少值得称赞的功能,但也有不少重吐糟的功能. 其中吐糟最多的就是iPhone苹果手机iOS16系 ...
- html页面怎样禁止复制粘贴,javascript中如何禁止复制粘贴?
在javascript中可以使用oncopy事件和onpaste事件来实现禁止复制粘贴的功能.oncopy事件会在用户拷贝元素上内容时被触发:onpaste事件在用户向元素中粘贴文本时触发. java ...
- 禁止html页面无法粘贴复制,javascript中如何禁止复制粘贴?
在javascript中可以使用oncopy事件和onpaste事件来实现禁止复制粘贴的功能.oncopy事件会在用户拷贝元素上内容时被触发:onpaste事件在用户向元素中粘贴文本时触发. java ...
- 【vim】系统剪切板、vim寄存器之间的复制粘贴操作命令?系统剪切板中的内容复制粘贴到命令行?vim文本中复制粘贴到命令行
一.系统剪切板和文本内容的复制粘贴 1.1 从系统剪切板复制粘贴到文本中 需要操作3次: 分别是英文双引号.一个加号或梅花号,最后是一个p 也即"+p 或者直接使用组合键[Shift + i ...
- Word文字中如何快速复制粘贴文字内容
编辑Word,有时需要复制粘贴文字,那么怎么复制粘贴了?以最常用的极速办公speedoffice为列. 1.首先,打开Word文档,选中需要操作的文字内容,如图 2.然后,鼠标右键,点击选择" ...
- VMWare中Ubuntu虚拟机复制粘贴功能失效问题
安装了VMware Tools之后,仍然不能在Windows和虚拟机之间复制粘贴. 解决办法: sudo apt-get autoremove open-vm-tools sudo apt-get i ...
- word中裁剪visio复制粘贴过来的图片
右键visio格式的图片,最上部有样式和裁剪,点击裁剪便可,因为有时候复制粘贴过来的图片会有大量的空白地方.
最新文章
- everything文件搜索_本地文件搜索神器,Everything、Listary、AnyTXT Searcher!
- 轻量级人脸属性Slim-CNN
- 用openMP进行并行加速
- xheditor 内容保存时 不转义html特殊字符,xheditor编辑器上传图片(示例代码)
- php 5.6 新特性,PHP5.6新特性介绍
- puppet最新源码包安装学习笔记
- Linux服务器---网络配置
- 名词解释(容器、并发,插件,脚本)及程序对象的创建和注释文档
- vue 日期格式化返回指定个数月份_vue过滤器实现日期格式化的案例分析
- java中用流提取文档中的文字,语言实现从word文档中提取文本
- poj 3928 树状数组
- PHP中英双语网站的设计思路
- eureka集群 ha_eureka集群基于DNS配置方式
- 基于soot的过程内数据流分析
- ls200_铁三角 LS200 双动铁入耳式耳机 个人客观听感(附IM02听感对比)
- 环境变量 变量名 变量值_如何使用环境变量
- python做统计分析_用Python做数据分析,Numpy,Pandas,matp
- 将jar添加到本地仓库及上传Jar到远程marven仓库
- 【学习笔记】阿里云天池龙珠计划SQL训练营-Task06:综合练习题-10道经典题目
- 企业Web服务器Nginx应用实战-高俊峰-专题视频课程