auto_clipboard
黄山松发表于博客园:http://www.cnblogs.com/tomview/p/6137179.html
#ifndef __HSS_AUTO_CLIPBOARD_HSS__
#define __HSS_AUTO_CLIPBOARD_HSS__
/*********************************************************************************\
* 2012-10-30
自动复制内容到剪贴板
用法:
复制:
auto_clipboard a(hwnd, psz);
粘贴:
CString sz;
auto_clipboard::GetText(sz);
\***************************************************************************/
class auto_clipboard
{
public:
auto_clipboard(HWND hwnd, LPCTSTR pszText)
{
if (::OpenClipboard(hwnd))
{
::EmptyClipboard();
HANDLE hMem = ::GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE , strlen(pszText)+1);
if (hMem)
{
char* pszMem = (char*)(::GlobalLock(hMem));
if (pszMem)
{
strcpy(pszMem, pszText);
::GlobalUnlock(hMem);
SetClipboardData(CF_TEXT, hMem);
}
::GlobalFree(hMem);
}
CloseClipboard();
}
}
~auto_clipboard()
{
}
/*************************************************************************\
* auto_clipboard : 2014年12月2日
* CString sz :
\**************************************************************************/
#ifdef __AFX_H__
static BOOL GetText(CString& sz)
{
if (!OpenClipboard(0))
return FALSE;
HANDLE hClip = GetClipboardData(CF_TEXT);
if (hClip == 0)
{
CloseClipboard();
return FALSE;
}
LPVOID pRes = (LPVOID)GlobalLock(hClip);
if (pRes == 0)
{
CloseClipboard();
return FALSE;
}
sz = (char*)pRes;
GlobalUnlock(hClip);
CloseClipboard();
return TRUE;
}
#endif
};
#endif
auto_clipboard的更多相关文章
随机推荐
- 【.net深呼吸】非 Web 项目使用缓存
从.net 4 开始,非web项目也可以使用缓存技术,故曰:.net 4 乃框架成熟之标志也. 对于缓存嘛,耍过 ASP.NET 的伙伴们肯定知道,这么说吧,就是将一些使用频率较高的数据放于内存中,并 ...
- 生成任意长度的随机数 JS
1.Math.random().toString(36).substr(2); 结果:ywv6cnpkliahj4tep0 2. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- MUI APP关于页面之间的传值,plusready和自定义事件
最近在用MUI开发这个APP,发现有时候这个plusready不起作用,表现在,这个页面如果重复打开,这个plusready就进不去,然后上一个页面传过来的值,就没法接收了.这个经过MUI官方确认,是 ...
- 原生JS实现全屏切换以及导航栏滑动隐藏及显示——重构前
思路分析: 向后滚动鼠标滚轮,页面向下全屏切换:向前滚动滚轮,页面向上全屏切换.切换过程为动画效果. 第一屏时,导航栏固定在页面顶部,切换到第二屏时,导航条向左滑动隐藏.切换回第一屏时,导航栏向右滑动 ...
- 代码的坏味道(7)——临时字段(Temporary Field)
坏味道--临时字段(Temporary Field) 特征 临时字段的值只在特定环境下有意义,离开这个环境,它们就什么也不是了. 问题原因 有时你会看到这样的对象:其内某个实例变量仅为某种特定情况而设 ...
- 解决微信授权回调页面域名只能设置一个的问题 [php]
最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_proxy,详细的介绍请往下阅读. 在做项目集成微信登录以及微信支付的时候,都需要进行用户授权.这 ...
- html中,文件上传时使用的<input type="file">的样式自定义
Web页面中,在需要上传文件时基本都会用到<input type="file">元素,它的默认样式: chrome下: IE下: 不管是上面哪种,样式都比较简单,和很多 ...
- ASP.NET从MVC5升级到MVC6 RC2 总目录 - 发布在RC2Release之后
序言 随着MVC6RC2的推出,MVC6的脚步越来越近了.但是在我们的手里,有大批量的MVC5的项目.如何将MVC5升级到MVC6,将是一个很大的课题.微软官方暂时没有一个升级指导,或者一个迁移工具, ...
- ASP.net MVC 文件下载的几种方法(欢迎讨论)
在ASP.net MVC 中有几种下载文件的方法 前提:要下载的文件必须是在服务器目录中的,至于不在web项目server目录中的文件下载我不知道,但是还挺想了解的. 第一种:最简单的超链接方法,&l ...
- 珍珠(bead)
题目描述 有n颗形状和大小都一致的珍珠,它们的重量都不相同.n为整数,所有的珍珠从1到n编号.你的任务是发现哪颗珍珠的重量刚好处于正中间,即在所有珍珠的重量中,该珍珠的重量列(n+1)/2位.下面给出 ...