Главная страница
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.02 c
1-63222
димка
2004-01-10 20:19
2004.01.20
как проверить запущена ли программа


1-63164
Intell
2004-01-06 15:45
2004.01.20
Как выделять индекс в ListBox?


1-63249
DimaK
2004-01-08 19:49
2004.01.20
Ошибка ассемблера в XP


14-63305
ИЛЮХА
2003-12-22 19:31
2004.01.20
LISTBOX!!! - hhhheeeeeellllppppppp!!!!!!!!!


14-63299
Undert
2003-12-27 14:51
2004.01.20
ICQ Window Blink