Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 18.08.2010
Сообщений: 7

Узнать текущий курсор мыши (его вид)

09.02.2012, 16:51. Показов 2412. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте) возникла такая задача, поместить текущий курсор мыши в picturebox, всё никак не пойму как это сделать. То есть чтобы на форме можно было увидеть значок текущего курсора. Можно конечно сделать скриншот экрана вместе с курсором, а потом убрать лишнее и тогда уже кинуть его в Picturebox, но на скриншоте курсора к сожалению не видно( хотя например кейлоггеры обычно делают скрин с курсором...вобщем если кто знает как это сделать буду рад помощи)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2012, 16:51
Ответы с готовыми решениями:

Как узнать какой курсор мыши вне формы и как его можно изменить?
Подскажите пожалуйста, код Visua Studio 2008, как можно узнать какой курсор мыши в не формы и как его можно изменить?

В системе протекают фоновые процессы, о чем говорит постоянно, меняющий вид курсор мыши
Такая проблема: наткнулся на левый архив, который понаставил мне кучу ненужных программ и браузеров. Всю эту ересь удалил, dr. web нашел...

Как узнать где находиться курсор мыши?
Каюсь, плохо знаю ООП. Нужно понять следующее: на форме два одинокых объекта, с разными именами. Как узнать на каком сейчас...

4
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
09.02.2012, 17:09
Цитата Сообщение от chitor Посмотреть сообщение
вобщем если кто знает как это сделать буду рад помощи)
Ты удивишься, насколько это просто.
Visual Basic
1
2
3
4
5
6
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function GetCursor Lib "user32" () As Long
Private Sub Form_Paint()
    'Рисуем курсор на форме, но аналогично и на Picture
    DrawIcon Me.hdc, 50, 50, GetCursor
End Sub
1
1 / 1 / 0
Регистрация: 18.08.2010
Сообщений: 7
09.02.2012, 17:51  [ТС]
спасибо) то что надо)

Добавлено через 34 минуты
Только у меня ещё один вопрос появился...вот у меня есть код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function GetCursor Lib "user32" () As Long
 
Private Sub Command1_Click()
DrawIcon Picture1.hdc, 0, 0, GetCursor
Timer1.Enabled = True
End Sub
 
Private Sub Timer1_Timer()
DrawIcon Picture2.hdc, 0, 0, GetCursor
Call Sravn
End Sub
 
Private Sub Sravn()
Dim x, y As Integer
For y = 1 To 150
For x = 1 To 150
If Picture1.Point(x, y) <> Picture2.Point(x, y) Then
MsgBox "CHANGE"
Picture2.Cls
Picture2.Picture = LoadPicture()
Exit Sub
End If
Next x
Next y
End Sub
Но это работает только в пределах формы... то есть например когда я сворачиваю форму и че-то такое сложное делаю и появляются песочные часы, то это не срабатывает...это почему?
0
 Аватар для Kogb
367 / 128 / 28
Регистрация: 17.07.2011
Сообщений: 253
Записей в блоге: 1
12.02.2012, 14:36
Сравнивай не Picture1 и Picture2, а переменные полученные из GetCursor.
0
1 / 1 / 0
Регистрация: 18.08.2010
Сообщений: 7
12.02.2012, 21:19  [ТС]
А всё равно не получается( хотя работает быстрее)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
Private Declare Function GetCursor Lib "user32" () As Long
 
Dim cr1, cr2 As Long
 
Private Sub Command1_Click()
Timer1.Enabled = True
call GetCursor
cr1 = Getcursor ()
End Sub
 
Private Sub Timer1_Timer()
call GetCursor
cr2 = GetCursor ()
if cr1<>cr2 then MsgBox "Change"
End Sub
Может нужно как-то хендлы других окон искать и там уже отлавливать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2012, 21:19
Помогаю со студенческими работами здесь

Узнать вид указателя мыши вне формы приложения
возможно ли такое?

Как узнать, над каким окном находится курсор мыши
Добрый день! Есть такая ситуация: из проекта на Лазарусе под WinCE запускается внешнее приложение. Его имя окна, и соответственно,...

Текущий курсор
Как пользоваться курсорами имеющиеся в программе, а не в ОС, подскажите пожалуйста, почему просто не работает свойство,...

Плавает курсор мыши. Задержка мыши при игре в шутеры (игры)
Мучаюсь с проблемой две недели. Совершенно запутался и кажется начинаю терять нервные клетки. Попробую описать проблему детальнее, чтобы...

Сохранить текущий курсор
Мне нужно сохранить текущий курсор, функцию CopyCursor не распознает даже с модулем WinAPi, GetCursor не помогает, он почему-то заносит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru