Все о курсоре мышки...

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

EXIS
Обычный пользователь
Обычный пользователь
 
Сообщения: 71
Зарегистрирован: 02.05.2006 (Вт) 17:16

Все о курсоре мышки...

Сообщение EXIS » 03.10.2008 (Пт) 10:25

Можно ли глобально отслеживать смену значка курсора, даже если он за пределами формы.

Как картинку текущего курсора запихнуть в bitmap (про обратный процесс я знаю)

Как изменить координаты hot spot'a (центра курсора или "точки клика") текущего курсора.

Вот и все :D

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Все о курсоре мышки...

Сообщение Williams » 03.10.2008 (Пт) 13:14

Можно посмотреть в сторону GetCursorInfo:



Код: Выделить всё
<StructLayout(LayoutKind.Sequential)> _
Structure POINT
        Public x As Int32
        Public y As Int32
    End Structure

    <StructLayout(LayoutKind.Sequential)> _
    Structure CURSORINFO
        Public cbSize As Int32
        ' Specifies the size, in bytes, of the structure.
        ' The caller must set this to Marshal.SizeOf(typeof(CURSORINFO)).
        Public flags As Int32
        ' Specifies the cursor state. This parameter can be one of the following values:
        '    0             The cursor is hidden.
        '    CURSOR_SHOWING    The cursor is showing.
        Public hCursor As IntPtr
        ' Handle to the cursor.
        Public ptScreenPos As Point
        ' A POINT structure that receives the screen coordinates of the cursor.
    End Structure

    <DllImport("user32.dll")> _
    Private Shared Function GetCursorInfo(ByRef pci As CURSORINFO) As Boolean
    End Function

    Private Const CURSOR_SHOWING As Int32 = &H1



Использование:
Код: Выделить всё
        Dim cur As New CURSORINFO
        GetCursorInfo(cur)


Также при помощи GetCursor можно получить хендл курсора:

Код: Выделить всё
    <DllImport("user32.dll")> _
    Private Shared Function GetCursorInfo(ByRef pci As CURSORINFO) As Boolean
    End Function


Далее тебе нужно будет создать изображение на основе хендла
И вы думаете, что вас оставят в живых после прочтения этого поста?


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 5

    TopList  
cron