储存字符串的一组 API

简介: 在API函数GlobalAddAtom的帮助下可以通过windows信息传送一个字符串。这个函数返回一个数,可以被PostMessage (或SendMessage)中的 wParam 或 lParam 使用。发送方:wParam = GlobalAddAtom('string...')PostMessage(HWnd, WM_XYZ, wParam, 0)接收方:str = GlobalGe

在API函数GlobalAddAtom的帮助下可以通过windows信息传送一个字符串。这个函数返回一个数,可以被PostMessage (或SendMessage)中的 wParam 或 lParam 使用。

发送方:

wParam = GlobalAddAtom('string...')
PostMessage(HWnd, WM_XYZ, wParam, 0)


接收方:

str = GlobalGetAtomName(wParam)
GlobalDeleteAtom(wParam)

下面对GlobalDeleteAtom做一下介绍。

 

这是储存字符串的一组 API.
通过 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[0..254] of Char;
begin
  n1 := AddAtom('万一的 Delphi 博客');
  n2 := AddAtom('万一的 DELPHI 博客');

  GetAtomName(n1, ps, 255);
  ShowMessage(ps); {万一的 Delphi 博客}

  GetAtomName(n2, ps, 255);
  ShowMessage(ps); {万一的 Delphi 博客}
end;
相关文章
|
3月前
|
Java API 开发者
|
5月前
|
存储 缓存 Java
JavaSE 字符串String及相关API StringBuilder StringJoiner 底层原理 详解
JavaSE 字符串String及相关API StringBuilder StringJoiner 底层原理 详解
45 2
|
5月前
|
Java 程序员 API
JavaSE——常用API(1/3)-包、String概述、String常用方法(length、charAt、遍历字符串、toCharArray......)
JavaSE——常用API(1/3)-包、String概述、String常用方法(length、charAt、遍历字符串、toCharArray......)v
37 0
|
6月前
|
API Python
[AIGC] Python字符串常用API介绍
[AIGC] Python字符串常用API介绍
|
6月前
|
缓存 小程序 API
【社区每周】新增保存文件到系统储存空间API;小程序开发体验问卷调研发布
【社区每周】新增保存文件到系统储存空间API;小程序开发体验问卷调研发布
76 11
|
存储 Java API
API及String类和字符串相关使用方法
API及String类和字符串相关使用方法
|
SQL JavaScript 关系型数据库
API接口获得数据后处理JS数组(包含字符串对象)分组、过滤和筛选的解决方案
API接口获得数据后处理JS数组(包含字符串对象)分组、过滤和筛选的解决方案
157 0
|
Java API
【贰】从一个简单的Java程序看起,了解数据类型、变量、字符串以及如何阅读API文档!
【贰】从一个简单的Java程序看起,了解数据类型、变量、字符串以及如何阅读API文档!
120 0
【贰】从一个简单的Java程序看起,了解数据类型、变量、字符串以及如何阅读API文档!
|
API
字符串常用API源码
字符串常用API源码
85 0
ES6字符串、对象、数组不常见但实用的API方法
ES6字符串、对象、数组不常见但实用的API方法