加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows API一日一练 76 GlobalAlloc函数

发布时间:2020-12-14 02:28:41 所属栏目:Windows 来源:网络整理
导读:分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 在 Windows 系统里,有一项功能非常实用,就是剪贴板功能,它能够从一个程序里与另一个程序进行数据交换的

分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

Windows 系统里,有一项功能非常实用,就是剪贴板功能,它能够从一个程序里与另一个程序进行数据交换的功能,也就是说两个进程上是可以共享数据。要实现这样的功能, Windows 系统在底层上有相应的支持,就是高端地址的内存是系统内存,这样就可以不同的进程进行共享数据了。因此,调用函数 GlobalAlloc 来分配系统内存,让不同的进程实现共享数据,也就是剪贴板功能,可以在一个进程内分配内存,在另一个进程里访问数据后删除内存。
?
函数 GlobalAlloc 声明如下:
?
HGLOBAL
WINAPI
GlobalAlloc (
??? __in UINT uFlags,
??? __in SIZE_T dwBytes
??? );
?
uFlags 是内存标志。
dwBytes 是分配内存的大小。
?
调用函数的例子如下:
#001?//
#002??// 全局内存的分配。
#003??// 蔡军生 ?2007/11/19 QQ:9073204 深圳
#004??void MemGlobal(void)
#005??{
#006???????? // 分配全局内存。
#007??????? BYTE* pGlobal = (BYTE*)::GlobalAlloc(GMEM_FIXED,1024);
#008?
#009???????? if (!pGlobal)
#010???????? {
#011?????????????? return;
#012???????? }
#013???????? else
#014???????? {
#015?????????????? // 测试全局内存。
#016?????????????? ZeroMemory(pGlobal,1024);
#017?????????????? memcpy(pGlobal,_T(" 分配内存成功 /r/n"),
#018??????????????????? sizeof(_T(" 分配内存成功 /r/n")));
#019?????????????? OutputDebugString((LPWSTR)pGlobal);
#020???????? }
#021?
#022???????? // 释放全局内存。
#023???????? ::GlobalFree((HGLOBAL)pGlobal);
#024??}
?

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读