GlobalGetAtomName GlobalDeleteAtom 引用 WinAPI: AddAtom、DeleteAtom、FindAtom、GetAtomName、GlobalAddAtom、GlobalDeleteAtom、GlobalFindAtom、GlobalGetAtomName
http://www.cnblogs.com/del/archive/2008/02/28/1085124.html
通过 AddAtom 储存一个字符串, 返回一个 ID;
GetAtomName 通过这个 ID 可返回储存的字符串;
还可以用 FindAtom 查找、用 DeleteAtom 删除已储存的字符串.
这个储存区有分本地(程序级)和全局(系统级)两种, 带 Global 前缀的是全局的[但在 Win32 下它们是否还有区别还有待考究].
表中的字符串不分大小写, 如果重名过来, 会增加一个 ID 引用, 但会使用最先来的字符串.
//声明:
AddAtom(
lpString: PChar {串指针}
): ATOM; {返回串ID} DeleteAtom(
nAtom: ATOM {串ID}
): ATOM; {返回串ID; 失败返回0} FindAtom(
lpString: PChar {串指针}
): ATOM; {返回串ID; 失败返回0} GetAtomName(
nAtom: ATOM; {串ID}
lpBuffer: PChar;{缓冲区}
nSize: Integer {缓冲区大小}
): UINT; {返回串实际长度; 失败返回0} GlobalAddAtom(
lpString: PChar {串指针}
): ATOM; {返回串ID} GlobalDeleteAtom(
nAtom: ATOM {串ID}
): ATOM; {返回串ID; 失败返回0} GlobalFindAtom(
lpString: PChar {串指针}
): ATOM; {返回串ID; 失败返回0} GlobalGetAtomName(
nAtom: ATOM; {串ID}
lpBuffer: PChar;{缓冲区}
nSize: Integer {缓冲区大小}
): UINT; {返回串实际长度; 失败返回0}
//举例:
var
n1,n2: ATOM;
ps: array[..] of Char;
begin
n1 := AddAtom('万一的 Delphi 博客');
n2 := AddAtom('万一的 DELPHI 博客'); GetAtomName(n1, ps, );
ShowMessage(ps); {万一的 Delphi 博客} GetAtomName(n2, ps, );
ShowMessage(ps); {万一的 Delphi 博客}
end;
GlobalGetAtomName GlobalDeleteAtom 引用 WinAPI: AddAtom、DeleteAtom、FindAtom、GetAtomName、GlobalAddAtom、GlobalDeleteAtom、GlobalFindAtom、GlobalGetAtomName的更多相关文章
- 13 引用WINAPI
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetWind ...
- c# GlobalAddAtom GlobalDeleteAtom
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- DELPHI下API简述(1800个API)
DELPHI下API简述 http://zero.cnbct.org/show.asp?id=144 auxGetDevCaps API 获取附属设备容量 auxGetNumDevs API 返回附属 ...
- C#封装好的Win32API
Kernel.cs using System; using System.Runtime.InteropServices; using System.Text; using HANDLE = Syst ...
- ApiKernel
using System; using System.Runtime.InteropServices; using System.Text; using HANDLE = System.IntPtr; ...
- Delphi7所使用的WinAPI大全(摘自VCL源码,一共1200个函数)
经过我整理的,去掉了A和W的重复.虽然没写注释,但以后要一个一个研究.有这些WINAPI就够用了. kernel32 = 'kernel32.dll'; gdi32 = 'gdi32.dll'; us ...
- WinAPI【远程注入】三种注入方案【转】
来源:http://www.cnblogs.com/okwary/archive/2008/12/20/1358788.html 导言: 我 们在Code project(www.codeprojec ...
- <转载>无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
转载http://blog.sina.com.cn/s/blog_6e6c5f230100p92p.html 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引 ...
- 使用WinAPI全局热键注册和全局模拟按键
一.全局热键注册 1.先引用DLL [System.Runtime.InteropServices.DllImport("user32.dll")] //导入WinAPI publ ...
随机推荐
- Codeforces 948C Producing Snow(优先队列+思维)
题目链接:http://codeforces.com/contest/948/problem/C 题目大意:给定长度n(n<=1e5),第一行v[i]表示表示第i堆雪的体积,第二行t[i]表示第 ...
- Luogu P2069 【松鼠吃果子】
推荐一波数组模拟链表的讲解 这道题呢,数组写的话不好删除(因为后面要接过来),自然想到链表 对于一个果子,我们可以维护其前驱和后继,我们不妨记与一个点相邻的上面的点为其前驱,下面的点为其后继 观察到题 ...
- (一)问候 Log4j 你好
第一节: Log4j 简介 Log4j -------- log for java(java的日志) 是java主流的日志框架,提供各种类型,各种存储,各种格式,多样化的日志服务: 在爬虫领域,主要用 ...
- gtk+学习笔记(四)
今天看了下单选按钮的设置,实现起来还是挺简单的,就是自己太不熟练 radio=gtk_radio_button_new_with_label(NULL,"a"); //第一次创建单 ...
- 浅析redux
一 redux 思想 首先,每一个webApp有且只有一个state tree,为方便管理和跟踪state的变化,也为了减少混乱,redux只允许通过发送(dispatch)action的方式来改变s ...
- HA下的Spark集群工作原理解密
实验环境: zookeeper-3.4.6 Spark:1.6.0 简介: 本篇博客将从以下几点组织文章: 一:Spark 构建高可用HA架构 二:动手实战构建高可用HA 三:提交程序测试HA 一:S ...
- mvc的cshtml Request取不到值
如果路径为:http://localhost:2317/food/1,这时用Request["id"]是取不到值的应该用: Request.RequestContext.Route ...
- 002 Jupyter-NoteBook工具介绍(网页版编辑器)
1.Jupyter-NoteBook位置 在安装完anaconda后,这个工具已经被安装完成. 2.打开 3.功能讲解 目录:C:\Users\dell,这个可以看上面控制台上的信息. 4.其余的功能 ...
- thinkphp getField()获取一列或一个数据
在开发中经常要获取一个数据的情况,thinkphp中有一个getField()方法可以解决这个问题. 获取一个数据 1 2 $user = M('demo'); $data = $user->g ...
- 安卓代码混淆(Android Studio)
Proguard是安卓提供的方便开发者对代码和apk进行保护和精简的工具,可在SDK/tools文件夹下找到. proguard的作用 : 1,代码混淆 2,精简代码,删掉没有用到的代码,减小ap ...