Форум: Форум C++Разное
Новые темы: 00
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Windows API: что такое HANDLER?
 
 автор: asker++   (30.01.2012 в 10:55)   письмо автору
 
 

Я так понимаю это эдакий обобщенный указатель в Windows API? А почему бы указатели и не использовать, получилось бы гораздо понятнее...

  Ответить  
 
 автор: cheops   (30.01.2012 в 11:44)   письмо автору
 
   для: asker++   (30.01.2012 в 10:55)
 

Дело в том, что Windows API это не есть C/C++, не смотря на то, что написан он на C с использованием указателей и предполагающий такую концепцию. Windows API - это программный интерфейс серьезной операционной системы, они не могли себе позволить ориентироваться на какой-то конкретный язык программирования. Не все языки программирования поддерживают указатели, в том числе поэтому были введены специальные типы из одного слова, без звездочек. Это позволяет задействовать эти типы в любом языке программирования и писать программы для Windows например на Delphi или VisualBasic, да хоть на PHP или Python. Кроме того, дескрипторы Windows API (тут handler следует переводить как дескриптор) - это не совсем указатели C/C++, это скорее индекс в системной таблице внутри операционной системы. Иногда такие дескрипторы могут быть голыми указателями, которые действительно указывают на начало области памяти нужного объекта, но чаще они указывают или сами являются номером объекта, манипулировать же самим объектом можно только через функции Windows API, называя его по номеру-дескриптору. Поэтому HANDLER лучше рассматривать не как указатель, а как номер/идентификатор/первичный ключ в одной из системных таблиц.

  Ответить  
 
 автор: asker++   (31.01.2012 в 01:44)   письмо автору
 
   для: cheops   (30.01.2012 в 11:44)
 

Большое спасибо!

  Ответить  
 
 автор: Musafir   (02.02.2013 в 02:11)   письмо автору
 
   для: cheops   (30.01.2012 в 11:44)
 

Поясните, пожалуйста, если я пишу программу на С++ в "консольном приложении Win32", означает ли это, что я обязательно использую Windows API. Если есть таковой, то привидите пример простейшей программы (аналогичный "Hello world!") написанный с применением Windows API на С++.

  Ответить  
 
 автор: cheops   (27.05.2013 в 21:14)   письмо автору
 
   для: Musafir   (02.02.2013 в 02:11)
 

>Поясните, пожалуйста, если я пишу программу на С++ в "консольном приложении Win32", означает ли это, что я обязательно
>использую Windows API.
нет

>Если есть таковой, то привидите пример простейшей программы (аналогичный "Hello world!") написанный с применением
>Windows API на С++.
Возможно вас заинтересует тема по ссылке http://softtime.ru/cpp/read.php?id_forum=1&id_theme=165.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования