Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для Windows/Dos > Форма курсора мыши


Автор: abir1 18.1.2007, 11:30
Spasibo

Автор: sgi1981 23.1.2007, 17:34
Код

;push 0;
;call GetModuleHandleA;//для получения хендла текущего модуля
push IDC_ARROW;
;для примера значения идентификаторов стандартных курсоров
;Value    Description
;IDC_APPSTARTING    Standard arrow and small hourglass
;IDC_ARROW    Standard arrow
;IDC_CROSS    Crosshair
;IDC_IBEAM    Text I-beam
;IDC_ICON    Windows NT only: Empty icon
;IDC_NO    Slashed circle
;IDC_SIZE    Windows NT only: Four-pointed arrow
;IDC_SIZEALL    Same as IDC_SIZE
;IDC_SIZENESW    Double-pointed arrow pointing northeast and southwest
;IDC_SIZENS    Double-pointed arrow pointing north and south
;IDC_SIZENWSE    Double-pointed arrow pointing northwest and southeast
;IDC_SIZEWE    Double-pointed arrow pointing west and east
;IDC_UPARROW    Vertical arrow
;IDC_WAIT    Hourglass
push hInstance;//хендл текущего исполняемого модуля
call LoadCursor;
push eax;
call SetCursor;

Автор: Mikl__ 25.5.2007, 10:31
Можно еще проще. Для стандартных курсоров, возвращаемое значение LoadCursor в разных Windows (от Win95 до WinXP) одно и тоже, например возвращаемое значение LoadCursor для IDC_ARROW всегда 65553. 
IDC_APPSTARTING    65575
IDC_CROSS    65559
IDC_WAIT    65557 и т.д.
Код
Код

push 65553
call SetCursor

эквивалентен коду приведенному sgi1981 
для просмотра кодов воспользуйся
Код

.686P
.model flat
include windows.inc
includelib user32.lib
includelib kernel32.lib
extern _imp__MessageBoxA@16:dword
extern _imp__LoadCursorA@8:dword
extern _imp__wsprintfA:dword
.code
start:    push IDC_ARROW;
    push 0
    call _imp__LoadCursorA@8
    push eax
    push offset fmat2
    push offset buff
    call _imp__wsprintfA
    pop ecx
    pop ecx
    pop ecx
    push 0
    push offset head
    push offset buff 
    push 0
    call _imp__MessageBoxA@16
    ret
buff    db 10 dup (0)
head    db 'Cursor',0
fmat2    db '%02u',0
end start

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)