http://www.cnblogs.com/del/archive/2008/02/28/1085124.html

这是储存字符串的一组 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[..] 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的更多相关文章

  1. 13 引用WINAPI

            [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetWind ...

  2. c# GlobalAddAtom GlobalDeleteAtom

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. DELPHI下API简述(1800个API)

    DELPHI下API简述 http://zero.cnbct.org/show.asp?id=144 auxGetDevCaps API 获取附属设备容量 auxGetNumDevs API 返回附属 ...

  4. C#封装好的Win32API

    Kernel.cs using System; using System.Runtime.InteropServices; using System.Text; using HANDLE = Syst ...

  5. ApiKernel

    using System; using System.Runtime.InteropServices; using System.Text; using HANDLE = System.IntPtr; ...

  6. Delphi7所使用的WinAPI大全(摘自VCL源码,一共1200个函数)

    经过我整理的,去掉了A和W的重复.虽然没写注释,但以后要一个一个研究.有这些WINAPI就够用了. kernel32 = 'kernel32.dll'; gdi32 = 'gdi32.dll'; us ...

  7. WinAPI【远程注入】三种注入方案【转】

    来源:http://www.cnblogs.com/okwary/archive/2008/12/20/1358788.html 导言: 我 们在Code project(www.codeprojec ...

  8. <转载>无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

    转载http://blog.sina.com.cn/s/blog_6e6c5f230100p92p.html 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引 ...

  9. 使用WinAPI全局热键注册和全局模拟按键

    一.全局热键注册 1.先引用DLL [System.Runtime.InteropServices.DllImport("user32.dll")] //导入WinAPI publ ...

随机推荐

  1. 洛谷P3367并查集

    传送门 #include <iostream> #include <cstdio> #include <cstring> #include <algorith ...

  2. mysql数据库查找类型不匹配

    无意中看到10级学长的博客,提到了mysql数据库类型查找不匹配的问题,博客地址是:卢俊达 . 数据库中建表中会对每个属性进行类型划分,然后在查找数据库select时: MySQL 的文档 (Type ...

  3. xcode7 创建pch文件

    1.打开xcode 7.2 项目,在屏幕顶端的工具栏,选择File>New>File..>iOS>Other>PCH File,点击"next"下一步 ...

  4. php读取xml中cdata部分方法

    本例使用php的simplexml:XML(eventtrackdata.xml'): <eventdata> <event> <date>2012.05.11&l ...

  5. 查看当前session权限

    oracle 1111.2.0.1.0 环境 查看connect都有什么权限 SQL> select * from dba_sys_privs where GRANTEE='CONNECT'; ...

  6. Jersey入门三:创建一个JavaEE的Web项目

    1.在终端中输入如下命令,创建一个名为的simple-service-webapp项目: mvn archetype:generate -DarchetypeArtifactId=jersey-qui ...

  7. thinkphp结合ajax实现统计页面pv的浏览量

    统计pv量很常用,下面的代码用ajax实现的,使用ajax可以避免页面缓存造成的影响,只要客户端的js代码执行了就可以统计流量. 一共就两部 将下面代码放在要统计的html页面中,测试时把地址换成自己 ...

  8. TradingView 为 k 线柱添加标记

    看别人翻译的开发文档: 开发文档地址:https://zlq4863947.gitbooks.io/tradingview/ getMarks(symbolInfo, startDate, endDa ...

  9. 灵活的按键处理程序 FlexibleButton

    前言 正好工作中用到按键处理,需要处理单击.长按等按键事件,然后就造了这么一个轮子,为了以后更方便地加入其它的项目中使用,遂将其开源到 GitHub 中. 后面发现 RT-Thread 软件包里也有一 ...

  10. 基于spring-boot的应用程序的单元测试方案

    概述 本文主要介绍如何对基于spring-boot的web应用编写单元测试.集成测试的代码. 此类应用的架构图一般如下所示: 我们项目的程序,对应到上图中的web应用部分.这部分一般分为Control ...