C++进程间通信之剪贴板
转载:http://blog.csdn.net/hk627989388/article/details/53693636
转载:http://blog.csdn.net/heihei36/article/details/46636275
转载:http://bbs.csdn.net/topics/392043890
//GMEM_FIXED 分配固定的内存,返回值是一个指针.
//GMEM_MOVEABLE
//分配可移动的内存,在Win32中内存块在物理内存中是不可移动的,但在缺省堆中可以. 返回值是该内存对象的句柄,可使用函数 GlobalLock 将该句柄转换为一个指针.
//这个标识不能与 GMEM_FIXED 组合使用. //ansi
void SetClipboardByAnsi()
{
HWND hWnd = NULL;
HANDLE hHandle;//保存调用GlobalAlloc函数后分配的内存对象的句柄
string strTemp;
char *pBuf;//保存调用AllocLock函数后返回的内存地址 OpenClipboard( hWnd );//打开剪切板
EmptyClipboard();//清空剪切板 strTemp="巴萨VS皇马"; hHandle = GlobalAlloc(GMEM_MOVEABLE, strTemp.length()+);//分配内存 if (hHandle)//若函数调用失败,则返回NULL
{
pBuf = (char*) GlobalLock(hHandle);//锁定内存,返回申请内存的首地址
//wcscpy(pBuf, strTemp.c_str());
strcpy(pBuf, strTemp.c_str()); GlobalUnlock(hHandle);//解除锁定
SetClipboardData(CF_TEXT, hHandle);//设置剪切板数据
CloseClipboard();//关闭剪切板
}
} //Unicode
void SetClipboardByUnicode()
{
// 打开剪贴板
if (!OpenClipboard(NULL)|| !EmptyClipboard())
{
printf("打开或清空剪切板出错!\n");
return ;
} HANDLE hHandle;//保存调用GlobalAlloc函数后分配的内存对象的句柄
wstring strText = L"宽字符测试剪切板"; //hHandle = GlobalAlloc(GMEM_MOVEABLE, strText.length()+1);//错误的
hHandle = GlobalAlloc(GMEM_MOVEABLE, ((wcslen(strText.c_str()))*sizeof(TCHAR))*); if (hHandle)//若函数调用失败,则返回NULL
{
LPWSTR lpStr = (LPWSTR)GlobalLock(hHandle);
wcscpy(lpStr, strText.c_str());
GlobalUnlock(hHandle);//解除锁定
SetClipboardData(CF_UNICODETEXT, hHandle);//设置剪切板数据
CloseClipboard();//关闭剪切板
}
} void GetClipboard()
{
OpenClipboard(NULL);//打开剪切板 if (IsClipboardFormatAvailable(CF_UNICODETEXT))//剪切板上是否存在文本格式
{
HANDLE hClip;
wchar_t* pBuf; hClip = GetClipboardData(CF_UNICODETEXT);//获取剪切板文本数据 pBuf = (wchar_t*)GlobalLock(hClip);
GlobalUnlock(hClip);
CloseClipboard();
wstring temp = pBuf;
wprintf(L"%s",pBuf);
}
} int main()
{
//SetClipboardByAnsi();
//SetClipboardByUnicode();
GetClipboard(); getchar();
return ;
}
C++进程间通信之剪贴板的更多相关文章
- VC杂记
获得Combobox的状态:向ComboBox发送CB_GETDROPPEDSTATE消息. 格式化字串:char buff[10] ; sprintf(buff,"1+1=%d" ...
- C++进程间通信
# C++进程间通信 # 进程间通讯的四种方式:剪贴板.匿名管道.命名管道和邮槽 ## 剪切板 ## //设置剪切板内容 CString str; this->GetDlgItemText(ID ...
- 【Windows编程】系列第九篇:剪贴板使用
上一篇我们学习了常见的通用对话框,本篇来了解剪贴板的使用,它常用于复制粘贴功能. 剪贴板是Windows最早就加入的功能,由于该功能非常实用,我们几乎每天都会使用到.通过剪贴板,我们就可以将数据从一个 ...
- CE 进程间通信
WINCE下进程间通信常用的方式有:剪贴板(Clipboard),网络套接字(Socket),WM_COPYDATA消息,共享内存,管道(消息队列),注册表等 剪贴板 //////////////// ...
- [转]Windows进程间通信的各种方法
http://www.cnblogs.com/songQQ/archive/2009/06/03/1495764.html 道相似,不过它传输数据是通过不可靠的数据报(如TCP/IP协议中的UDP包) ...
- 孙鑫MFC学习笔记17:进程间通信
17 1.进程间通信4种方式 2.OpenClipboard打开剪贴板 3.EmptyClipboard清空剪贴板,并把所有权分配给打开剪贴板的窗口 4.SetClipboardData设置剪贴板数据 ...
- Windows下进程间通信及数据共享
进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码.数据以及它可利用的系统资源(如文件.管道等)组成. 多进程/多线程是Windows操作系统的一个基本特征.Microsoft W ...
- 进程间通信机制<转>
1 文件映射 文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待.因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容. ...
- windows进程间通信 .
摘 要: 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求.编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间的通信是不可避免的.Microso ...
随机推荐
- php开启pdo扩展
在Windows环境下php 5.1以上版本中,pdo和主要数据库的驱动同php一起作为扩展发布,要激活它们只需要简单地编辑php.ini文件. 打开php.ini配置文件,找到extension=p ...
- Lepus(天兔)监控MySQL部署
http://www.dbarun.com/docs/lepus/install/lnmp/ 注意:xampp mysqldb-python版本太高会导致lepus白屏 apache版本最好选择2.2 ...
- 纯HTML和CSS实现点击切换
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- c# 使用MS SqlServer,连接成功,但是还报异常A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0。。。。
c# 使用MS SqlServer,连接成功,但是还报异常A connection was successfully established with the server, but then an ...
- Beta冲刺阶段5.0
1. 提供当天站立式会议照片一张 2. 每个人的工作 (有work item 的ID) 成员 昨天已完成的工作 今天计划完成的工作 工作中遇到的困难 具体贡献 郑晓丽 首页活动详情界面的美化 实现首页 ...
- 【2017-03-21】HTML表单及标记
一.表单 表单在网页中主要负责数据采集功能 表单格式 <form action="服务器路径" method=get(用的比较少)/post(最常用)></for ...
- jsp页面报错 javax.servlet cannot be resolved to a type
需要引入 Tomcat 中的两个 jar 包: servlet-api jsp-api.jar
- 世界最顶级邮件服务器组合Linux + PMTA + OEMPRO,PowerMTA 安装
世界最顶级邮件服务器组合Linux + PMTA + OEMPRO PowerMTA 安装 PMTA + OEMPRO 这个是发送的组合 PMTA提供的SMTP,OEMPRO是订阅管理以及邮件的过滤 ...
- httpclient get post
https://www.cnblogs.com/wutongin/p/7778996.html post请求方法和get请求方法 package com.xkeshi.paymentweb.contr ...
- The Little Prince-12/16
The Little Prince-12/16 今天四六级考完了呢,布吉岛大家考的怎么样,会有好多好多奇葩翻译吧,哈哈哈! 突然放出一条16年的笑笑汪~~~今年的也应该会很快出炉了,段子手们准备好!! ...