Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.20;
Скачать: CL | DM;

Вниз

А зачем нужны Атомы?   Найти похожие ветки 

 
Dima_dvp ©   (2003-11-13 01:05) [0]

Уважаемые знатоки, зачем в систему Win32API введены, атомы. Не очень пойму их практического применения, разьве что сама система хранит там что-то (например сообщения, используемые разными сист прогами). Приведите пример использования (не код а идею) если есть возможность..


 
Digitman ©   (2003-11-13 08:36) [1]

Атом - независимый именованый ресурс системы, глобально доступный всем процессам в контексте тек.сеанса работы ОС

Простой концептуальный пример :

некий процесс создал окно

hMyWindow = CreateWindow(...);

далее создал атом с именем "SomeProperty", получил, соответственно, его хэндл hAtom

hAtom = GlobalAddAtom("SomeProperty");

и вызвал ф-цию

SetProp(hMyWindow, hAtom, SomeAtomAssotiatedData)

тем самым сказав : отныне окно с хэндлом hMyWindow имеет св-во с именем, идентичным имени атома hAtom, и значением равным SomeAtomAssotiatedData

теперь некий другой процесс, в котором решается задача поиска окон по критерию наличия у них св-ва SomeProperty, поступает след.образом :

hSomeAtom = GlobalFindAtom("SomeProperty");

if hSomeAtom <> 0 then // ресурс существует !!
begin
// попытка получить знач-е возможно существующего св-ва окна
SomePropValue = GetProp(hSomeWindow, hSomeAtom);
if SomePropValue <> 0 then // окно имеет интересующее св-во со значением SomePropValue
...
else // окно не имеет интересующего св-ва
...
end;


 
abc   (2003-11-14 12:59) [2]

Удалено модератором


 
Vlad Oshin ©   (2003-11-14 13:18) [3]


> Digitman © (13.11.03 08:36) [1]

но можно же поискать само окно?


 
Dimka Maslov ©   (2003-11-14 13:42) [4]

>Vlad Oshin © (14.11.03 13:18) [3]
Здесь не окна ищутся, а происходит обмен информацией между процессами.


 
Digitman ©   (2003-11-14 13:49) [5]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2004.01.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
14-63340
N169
2003-12-30 11:26
2004.01.20
Японский день (LOL)


3-62986
Rafe
2003-12-23 13:11
2004.01.20
Что-то непонятное стало происходить с параметрами...


14-63341
Anatoly Podgoretsky
2003-12-30 07:43
2004.01.20
С днем рождения 30.10.2003


1-63064
Alex SPA
2004-01-08 10:19
2004.01.20
Открыть файл *.doc (через программу конечно) без предупреждения.


1-63243
Iceburger
2004-01-09 09:47
2004.01.20
MDI-приложения