Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Подскажите как отловить мышь на рабочем столе Добавлено: 09.07.07 13:36  

Автор вопроса:  KreAtoR
Мне надо выделить мышкой место на рабочем столе. Какой либо Rectangle, как это обычно делается а программой отловить эти две точки (левую верхнию и правую нижнию)
то есть надо полусить 4 переменных. Top, Bottom, Left Right. Подскажите как это сделать. Хотелось бы получить примерчик, чтоб во всем разобраться.

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 Alexandrus



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #1
Добавлено: 09.07.07 15:43
Private Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Ответить

Номер ответа: 2
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #2 Добавлено: 09.07.07 15:58
Alexandrus а они все нужны или достаточно последней. Я представляю себе все это дело так.
В одной точке MouseDown а в другой MouseUp оттуда и будет высчитан прямоугольник

Ответить

Номер ответа: 3
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #3 Добавлено: 09.07.07 16:16
Private Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long


а как это работает вообще

Ответить

Номер ответа: 4
Автор ответа:
 Alexandrus



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #4
Добавлено: 09.07.07 16:17
Если рисовать прямоугольник на рабочем столе не нужно , то позицию курсора отловишь c помощью GetCursorPos.Остальное для рисования прямоугольника...

Ответить

Номер ответа: 5
Автор ответа:
 Alexandrus



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #5
Добавлено: 09.07.07 16:23
Ты писал,что нужно выделить место на рабочем столе,вот я и привёл для этого дела нужные API. ...или конкретнее выражай хотелку:)

Ответить

Номер ответа: 6
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #6 Добавлено: 09.07.07 16:29
пасибо. Прямоугольник тоже нарисовать неплохо. Это даже круто!!!!! просто если несмогу, то воспользуюсь тока сочками. Подскажи как с этим работать или кинь какой нить примерчик плиззз

Ответить

Номер ответа: 7
Автор ответа:
 Alexandrus



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #7
Добавлено: 09.07.07 16:38
Мыльце давай... А я вот чегой-то не догнал :(,"сочки"-это ,что за зверь:))

Ответить

Номер ответа: 8
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #8 Добавлено: 09.07.07 16:59
сочки -точки :))) смотрится прикольно!!!
мыло f_nick@mail.ru

Ответить

Номер ответа: 9
Автор ответа:
 Alexandrus



ICQ: 496782368 

Вопросов: 18
Ответов: 312
 Web-сайт: starsorion.com
 Профиль | | #9
Добавлено: 09.07.07 17:34
Проверяй...

Ответить

Номер ответа: 10
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #10 Добавлено: 09.07.07 19:32
конечная цель?

<telepat mode>
 Сделать скриншот экрана, и ботать типичные примеры выдиления части изображения...
</telepat mode>

Ответить

Номер ответа: 11
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #11 Добавлено: 10.07.07 13:01
2. Alexandrus проверил попробовал. что то в этом есть. вопрос тока как это на рабочий стол вынести а не на форму???

2.HACKER конечная цель такова.

Когда грабишь энкодером часть экрана, чтобы не указывать точки в ручную, а выделить место мышкой, как это в принципе есть в WMEncoder.

Проблема тока когда форма теряет фокус и действия мыши происходят за ее пределами, то тяжело определить где мышу нажали а где отпустили

Ответить

Номер ответа: 12
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #12 Добавлено: 10.07.07 13:56
Отлов нажатия левой кнопки мыши:
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As KeyCodeConstants) As Integer

CBool(GetKeyState(vbKeyLButton) And &H8000)

Ответить

Номер ответа: 13
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #13 Добавлено: 10.07.07 21:04
Проблема тока когда форма теряет фокус и действия мыши происходят за ее пределами, то тяжело определить где мышу нажали а где отпустили

KreAtoR, незнаю, никогда не пользовался WMEncoder'ом, но примеров с хуками мыши очень много, и помойму даже на этом сайте. В любом случае поискать любым поисковиком, найдешь с десяток работающий примеров. Да и сложного там ничего нет...

Ответить

Номер ответа: 14
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #14 Добавлено: 11.07.07 12:54
Пасибки большое все получилось как и хотел. Отловил точки теперь пытаюсь начертить толстые линии вокруг прямоугольника который я черчу мышкой на рабочем столе. Если можете подскажите куда смотреть.

Ответить

Номер ответа: 15
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #15 Добавлено: 11.07.07 20:20
В поисковик смотреть...
http://www.sources.ru/delphi/graphics/gdi_graphics_in_delphi.shtml

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам