Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
1-63186
DDA
2004-01-10 12:00
2004.01.20
ComboBox vs Panel


14-63326
Undert
2003-12-30 20:59
2004.01.20
Метро ...


6-63270
Yakudza
2003-11-19 12:31
2004.01.20
Как оборвать соединение с инетом ?


1-63157
афвуд
2004-01-06 18:51
2004.01.20
TNotifyEvent


9-62952
Жека
2003-06-17 23:40
2004.01.20
Как анимировать 3-мерные модели в DirectX.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский