Я только начинаю изучать АСМ, заодно пытаюсь познакомиться с api-функциями, но мне не понятны не которые термины такие как: HANDLE, UINT, VOID...... Если вас не затруднит объясните пожалуйста... Например: HANDLE GetClipboardData( UINT uFormat ); Возвращает хэндл содержимого в буфере обмена чтоли?
Это не термины, глянь файл windef.h из включаемых файлов vs. typedef unsigned int UINT; Это просто типы данных, windows-специфичные. А что до HANDLE, так это дескриптор, описатель - надо читать доп литературу или же понимание приходит со временем.
invoke OpenClipboard,0 invoke GetClipboardData,CF_TEXT invoke MessageBox,0,eax,0,0 invoke CloseClipboard Всётаки функция возвращает указатель на данные, в данном случае на строку
Вся проблема в том что у меня там не CF_TEXT а CF_BITMAP и invoke MessageBox-ом ты его не покажешь...
hakeem Если простыми словами сказать, то Хэндл - это просто описатель или указатель на некий обьект. Представь ты запустил какую то программу. Системе нужно к ней как то обращаться, но не будет же она обращаться по названию, или по полному пути, тем более что ты можешь запустить второй экземпляр программы. В системе программа известна по уникальному идентификатору, или попросту - хэндлу. И вот каждый обьект может иметь свой уникальный хэндл, для того, что бы однозначно определить с каким обьектом, окном, кнопкой, файлом ты хочешь работать. Попробуй освоить хотя бы базовый Си, там типы переменных чуть ли не в первых главах расписаны, потом будет проще с асмом работать. GetClipboardData - возращает хэндл на clipboard object в специфическом формате. Формат ты задаешь переменной uFormat. Вот некоторые значения ее: CF_BITMAP, CF_TEXT, CF_WAVE и куча других. Задал CF_BITMAP - возвращается хэндл на bitmap задал CF_TEXT - возвращается указатель на текст, массив символов, заканчиваемый NULL. Если у тебя стоит CF_BITMAP, то и отображать его надо соотвественно как bitmap, для этого надо читать как выводится bitmap на экран.
увы, я с битмапом не работал плотно, знаю тока, что оно выводится через контекст устройств. Попробуй поискать через гугл "вывод hbitmap" в разных вариациях. а еще лучше, сначала прочитать: http://www.wasm.ru/article.php?article=1001025 и http://www.wasm.ru/article.php?article=1001026 Соответственно: Win32 API. Урок 25. Простой битмэп и Win32 API. Урок 26. Сплэш-экран там примеры работы с битмапом