Вопрос № 40892: Здраствуйте!
Вопрос следующий:
Как при помощи Masm32 скопировать содержимое переменной(строка) в буфер обмена?
Заранее спасибо за ответы....
Вопрос № 40.892
Здраствуйте!
Вопрос следующий:
Как при помощи Masm32 скопировать содержимое переменной(строка) в буфер обмена?
Заранее спасибо за ответы.
Отправлен: 20.04.2006, 23:28
Вопрос задал: Brutaller (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Евгений Иванов
Здравствуйте, Brutaller!
Основа. Строку возьми другую. Удачи!
;----------------------------------------------------------
; OUT -> 0 - ошибка, !0 - OK
;
proc CopyDataToClipboard
ARG @@type :dword
USES ebx, esi, edi
sub edi, edi
Call OpenClipboard, [hWndMain]
or eax, eax
jz @@exitErr
Call EmptyClipboard
or eax, eax
jz @@exitErr
mov ebx, ofs szColor_dec
mov eax, [@@type]
or eax, eax
jz @@m10
mov ebx, ofs szColor_hex
@m10:
Call GlobalAlloc, GMEM_MOVEABLE, 32
or eax, eax
jz @@exitErr0
xchg edi, eax
Call GlobalLock, edi
or eax, eax
jz @@exitErr1
xchg esi, eax
Call lstrcpy, esi, ebx
or eax, eax
jz @@exitErr2
xchg esi, eax
Call GlobalUnlock, esi
sub esi, esi
Call SetClipboardData, CF_TEXT, edi
or eax, eax
jz @@exitErr1
Call CloseClipboard
@exitOk:
sub eax, eax
inc eax
@ret:
ret
@exitErr2:
or esi, esi
jz @@e1
Call GlobalUnlock, esi
@e1:
@exitErr1:
or edi, edi
jz @@e0
Call GlobalFree, edi
@e0:
@exitErr0:
Call CloseClipboard
@exitErr:
sub eax,eax
jmp @@ret
endp
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор) Россия, Нижний Новгород Тел.: +79087645721 Организация: M2Media.ru Адрес: Нижний Новгород, ул.Малая Ямская WWW:Eugene Ivanov ICQ: 214;88;90;76 ---- Ответ отправлен: 20.04.2006, 23:41