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的更多相关文章
随机推荐
- Jquery事件
在JS里加事件 <input type="button" value="测试" onclick="test()"/>跟一个函数 ...
- Kafka 文档用例
1.2 用例 以下是一些Kafka 常见的用例.关于功能方面的一些概念,可以看这篇博客:http://engineering.linkedin.com/distributed-systems/log- ...
- Mono的简单例子
一直对移动端开发有些兴趣,但苦于不会Java,好在终于找到了个好玩的. 安装方法略了,先建立一个玩玩 不多说,贴代码了,需要注意的只有些JAVA和C#写法不太一样的地方,不细介绍了,因为没什么经验,乱 ...
- linq to js使用汇总
用途:方便js操作查询json数据. 下载网址:http://jslinq.codeplex.com/ 使用方法:只需要引用linq.js即可. 查询方法: 一.where查询 var myList ...
- PHP_环境配置_python脚本_2017
Apache配置 需要安装:VC2015 httpd-2.4.16-win32-VC14.zip VC14就是2015的环境. 又比如:php-5.6.12-Win32-VC11-x86 VC11就是 ...
- Hibernate(1)——数据访问层的架构模式
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及到的知识点总结如下: 数据库的概念.逻辑.数据模型概念 应用程序的分层体系结构发展 MVC设计模式与四层结构的对应关系 持久层的设 ...
- Vertica 分区表设计
Vertica数据库中的表只是一个逻辑概念. 实际存储在磁盘上的是projection. 当创建一张表,没有创建projection时,那么插入数据的时候会自动创建一个默认的projection.如果 ...
- FFmpeg学习3:播放音频
参考dranger tutorial,本文将介绍如何使用FFmpeg解码音频数据,并使用SDL将解码后的数据输出. 本文主要包含以下几方面的内容: 关于播放音频的需要的一些基础知识介绍 使用SDL2播 ...
- C++ map的基本操作和使用
原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...
- Lambda 表达式递归用法实例
注意: 使用Lambda表达式会增加额外开销,但却有时候又蛮方便的. Windows下查找子孙窗口实例: HWND FindDescendantWindows(HWND hWndParent, LPC ...