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的更多相关文章
随机推荐
- 判断用户是否是第一次打开该app
package com.example.fujilun_2; import android.app.Activity; import android.content.Intent; import an ...
- HTML5移动开发学习笔记之CSS3基础学习
CSS回顾 在学CSS3之前首先巩固下CSS的基础知识. 1.CSS框模型 举例子: #box { width: 70px; margin: 10px; padding: 5px; } 这个代码将出现 ...
- 【译】Unity3D Shader 新手教程(1/6)
本文为翻译,附上原文链接. 转载请注明出处--polobymulberry-博客园. 刚开始接触Unity3D Shader编程时,你会发现有关shader的文档相当散,这也造成初学者对Unity3D ...
- .NET Core的文件系统[1]:读取并监控文件的变化
ASP.NET Core 具有很多针对文件读取的应用.比如我们倾向于采用JSON文件来定义配置,所以应用就会涉及针对配置文件读取.如果用户发送一个针对物理文件的HTTP请求,应用会根据指定的路径读取目 ...
- 前端开发工具vue.js开发实践总结
最近有很长时间没有更新博客了,换了公司,全部的心思都放在项目上了.通过这次项目的上线,让我感受最深的是前后端分离后,前端页面的模块化管理,以及前端页面的数据邦定.在接触vue.js之前,我之前端要用到 ...
- CRL2.3(ORM开发框架)源码github发布
简介 CRL是一个面向对象的轻便型ORM业务框架 此框架追求的是使用简单,方便,因此设计为: 不需要代码生成器生成对象类,按标准方式写即可 依托lambda,实现语法解析转换为等效的SQL查询,完全以 ...
- 排版紧凑情况下IOS 浏览器的文字部分选中问题
一.需求 一个每一项都是图文混排的列表页,在需要对其中的某一部分文字进行选中copy的时候,IOS个二货每次都是直接选中了整个列表项,无论怎么操作它的选框都没有办法做到部分选中. 这是我本周遇到遇到的 ...
- PHP用单例模式实现一个数据库类
使用单例模式的出发点: 1.php的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 使用单例模式, 则可以避免大量的new 操作消耗的资源. 2.如果系统中需要有一个类来全局控制某些 ...
- Effective前端4:尽可能地使用伪元素
伪元素是一个好东西,但是很多人都没怎么用,因为他们觉得伪元素太诡异了.其实使用伪元素有很多好处,最大的好处是它可以简化页面的html标签,同时用起来也很方便,善于使用伪元素可以让你的页面更加地简洁优雅 ...
- linux终端指令总结
一直没机会进行linux指令的系统学习,但是工作中总能遇到通过指令操作文件或数据库的情况,总不能一味地依赖后端开发者的帮忙.上任领导说过,要是在同一个地方跌倒,那么你就是傻子.我可不想成为傻子,so, ...