помогите новичку

Тема в разделе "WASM.BEGINNERS", создана пользователем hakeem, 13 авг 2008.

  1. hakeem

    hakeem New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    74
    Я только начинаю изучать АСМ, заодно пытаюсь познакомиться с api-функциями, но мне не понятны не которые термины такие как: HANDLE, UINT, VOID......
    Если вас не затруднит объясните пожалуйста...
    Например:

    HANDLE GetClipboardData(
    UINT uFormat
    );

    Возвращает хэндл содержимого в буфере обмена чтоли?
     
  2. steelfactor

    steelfactor New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    501
    hakeem
    учи матчасть
     
  3. apx

    apx New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2008
    Сообщения:
    25
    Это не термины, глянь файл windef.h из включаемых файлов vs.
    typedef unsigned int UINT;
    Это просто типы данных, windows-специфичные.
    А что до HANDLE, так это дескриптор, описатель - надо читать доп литературу или же понимание приходит со временем.
     
  4. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    та один хрен это всё dword
     
  5. hakeem

    hakeem New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    74
    Все таки эта функция возвращает хэндл?
     
  6. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    invoke OpenClipboard,0
    invoke GetClipboardData,CF_TEXT
    invoke MessageBox,0,eax,0,0
    invoke CloseClipboard


    Всётаки функция возвращает указатель на данные, в данном случае на строку
     
  7. hakeem

    hakeem New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    74
    Вся проблема в том что у меня там не CF_TEXT а CF_BITMAP и invoke MessageBox-ом ты его не покажешь...
     
  8. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    hakeem
    Если простыми словами сказать, то Хэндл - это просто описатель или указатель на некий обьект.
    Представь ты запустил какую то программу. Системе нужно к ней как то обращаться, но не будет же она обращаться по названию, или по полному пути, тем более что ты можешь запустить второй экземпляр программы.
    В системе программа известна по уникальному идентификатору, или попросту - хэндлу.
    И вот каждый обьект может иметь свой уникальный хэндл, для того, что бы однозначно определить с каким обьектом, окном, кнопкой, файлом ты хочешь работать.

    Попробуй освоить хотя бы базовый Си, там типы переменных чуть ли не в первых главах расписаны, потом будет проще с асмом работать.

    GetClipboardData - возращает хэндл на clipboard object в специфическом формате.
    Формат ты задаешь переменной uFormat.
    Вот некоторые значения ее: CF_BITMAP, CF_TEXT, CF_WAVE и куча других.
    Задал CF_BITMAP - возвращается хэндл на bitmap
    задал CF_TEXT - возвращается указатель на текст, массив символов, заканчиваемый NULL.

    Если у тебя стоит CF_BITMAP, то и отображать его надо соотвественно как bitmap, для этого надо читать как выводится bitmap на экран.
     
  9. hakeem

    hakeem New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    74
    Спасибо beginner...
     
  10. hakeem

    hakeem New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    74
    Но еслиб еще и подсказку дали как его выводить...
     
  11. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    увы, я с битмапом не работал плотно, знаю тока, что оно выводится через контекст устройств. Попробуй поискать через гугл "вывод hbitmap" в разных вариациях.

    а еще лучше, сначала прочитать: http://www.wasm.ru/article.php?article=1001025 и http://www.wasm.ru/article.php?article=1001026
    Соответственно: Win32 API. Урок 25. Простой битмэп и Win32 API. Урок 26. Сплэш-экран
    там примеры работы с битмапом
     
  12. hakeem

    hakeem New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    74
    Я пробегался беглым взглядом показалось сложновато, но все же спасибо, прочитаю тщательнее...
     
  13. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    2FED
    вот вот. задолбали эти все "делай раз! делай два! делай DWORD_PTR! делай ULONG_PTR" Х_х
     
  14. beginner

    beginner New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    233
    Жизнь вообще сложная штука.
    Там главное понять хотя бы общий принцип.