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. Codeforces 264B Good Sequences(DP+素数筛)

    题目链接:http://codeforces.com/problemset/problem/264/B 题目大意:给出n个单调递增的数,让你找出最长的好序列,好序列是一种单调递增的并且相邻元素的最大公 ...

  2. ubuntu和windows双系统启动顺序的修改

    ubuntu和windows双系统启动顺序的修改 说到启动就不得不说GRUB,Linux下大名鼎鼎的启动管理工具(曾经的LILO已经风光不再),当然现在已经是GRUB2了,GRUB2和GRUB最重要的 ...

  3. CVE-2012-4792Microsoft Internet Explorer 释放后使用漏洞

    Microsoft Internet Explorer是微软Windows操作系统中默认捆绑的WEB浏览器. Microsoft Internet Explorer 6至8版本中存在释放后使用漏洞.通 ...

  4. Python创建ES索引

    # pip install elasticsearch from datetime import datetime from elasticsearch import Elasticsearch es ...

  5. JavaScript中判断日期是否相等

    问题 做一个节日提示网页,首先获得当前日期,然后与最近的节日比较,如果恰好是同一天,提示"XX节快乐!"否则,提示"离XX节还有X天".判断是否恰好同一天的时候 ...

  6. 修改linux下默认的python版本

    首先在终端输入:python --verison 查看本机默认采用的python 版本 接着进入/usr/local/lib 目录查看当前系统中安装了多少个python版本 如果只有一个,就安装你需要 ...

  7. Haproxy 开启日志记录

    CentOS 7上yum安装的Haproxy,默认没有记录日志.需要做一下配置才能记录日志.(不知道其他版本是否需要,已经忘记了)主要是用到了Haproxy,以前貌似没有这么麻烦,今天配置出了一些问题 ...

  8. Ionic Js十四:浮动框

    $ionicPopover $ionicPopover 是一个可以浮在app内容上的一个视图框. 实例 HTML 代码 <p> <button ng-click="open ...

  9. jdk1.8安装后查看Java -version出错

    最近在电脑行安装了多个jdk的版本 分别是jdk1.6,jdk1.7,jdk1.8三个版本,在配置环境变量的时候,选择的是jdk1.7; 但是奇怪的是,当我在cmd中输入java -version后, ...

  10. 1015 Reversible Primes (20)(20 point(s))

    problem A reversible prime in any number system is a prime whose "reverse" in that number ...