C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 148 - Что такое атомы (Atoms) / MSDN rus / Visual C++

Шаг 148 - Что такое атомы (Atoms)

Атом как таковой это число (16 bit Integer). Это число соответствует строке. Набор атомов собирается в таблицу (atom table). Система обеспечивает несколько таблиц атомов для разных задач. По типу доступа их два типа:

  • Локальные (доступны только из приложения)
  • Глобальные (доступны из всех приложений)

Среди глобальны таблиц есть системные, которые недоступны непосредственно из приложений, но они используются косвенно через функции Win32 API. Например, вызывая функцию RegisterClass мы добавляет системный атом. Подробнее "Шаг 39 - RegisterClass()". Давайте напишем программу, которая будет скидывать содержание атомов в текстовый файл. Но учите то, что атомы могут быть в формате как обычной строки, так и строки в виде числа, например:

#123

Я буду выбирать только строки. Итак, программа.

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
#include "fstream.h"

void main()
{
	ofstream ofs("test.txt");
	int newatom=GlobalAddAtom("Hello Atom");
	for (int x=0;x<100000;x++)
	{
		char buffer[255];
		UINT a=GlobalGetAtomName(x,(char*)&buffer,sizeof(buffer));
		if (a!=0) 
		{
			if (buffer[0]!='#') ofs << buffer << endl;
		}
	}
	ofs.close(); 
}

Очень хорошо. Смотрим что там у нас в файле. А там много чего. Вот, например наш атом там.

......
inThreadWndName
erver Window
Hello Atom
CAddressEditBox_This
annelWnd
CAddressBand_This
......

А вот вообще чудо - Delphi!.

......
Open Message Window
bcheckMonitor
DelphiFFFB2A81
ControlOfs00400000FFFB21C9
MAINICON
WndProcPtr00400000FFFB21C9
......

И чего оно там делает интересно.


| |
Автор Каев Артем.
[AD]