Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сканирование положения мышки 
:(
    Опции темы
StarHunter
Дата 19.9.2007, 05:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.9.2007

Репутация: нет
Всего: нет



Подскажите, как реализовать сканирование положения мыши на экране (для всех приложений, а не только активного окна), А также нажатие кнопок. 
PM MAIL   Вверх
Akina
Дата 19.9.2007, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата

The Win32_PointingDevice WMI class represents an input device used to point to and select regions on the display of a Win32 computer system. Any device used to manipulate a pointer, or point to the display on a Win32 computer system is a member of this class.

Подробности - в MSDN.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
StarHunter
Дата 20.9.2007, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.9.2007

Репутация: нет
Всего: нет



НЕ могу найти! еЕсть MSDN для V5 и для .NET, В V5 нету, а в .NET все так завуалировано, но ничего конкретного
PM MAIL   Вверх
StarHunter
Дата 20.9.2007, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.9.2007

Репутация: нет
Всего: нет



Нашел в MSDN .net следующий код, который взаимодействует с инфой для диска, НО!
Imports System
Imports System.Management
Imports ROOT.CIMV2.Win32

Public Class App   
   Public Shared Sub Main()      
      ' Enumerate instances of the Win32_process.
      ' Print the Name property of the instance.
      Dim ps As Process   
      For Each ps In  Process.GetInstances()
         Console.WriteLine(ps.Name)
      Next ps
      
      ' Initialize the instance of LogicalDisk with
      ' the WMI instance pointing to logical drive d:.
      Dim dskD As New LogicalDisk(New _
         ManagementPath("win32_LogicalDisk.DeviceId=""d:"""))
      Console.WriteLine(dskD.Caption)
   End Sub
End Class


System.Management не присутствует в системе. Аналогично, как и ROOT.CIMV2.Win32. Хотя пакет полный, не обрезанный. К чему они тогда писали это?
PM MAIL   Вверх
StarHunter
  Дата 20.9.2007, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.9.2007

Репутация: нет
Всего: нет



Нашел другой способ через класс PointingDevice. НО в документашке к нему нету свойств, которые бы отображали текущую позицию и нажатие кнопок. Что делать ЛЮДИ 
PM MAIL   Вверх
Akina
Дата 20.9.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Ты же получил DeviceID - дальше общайся с ним... не получается? Ну поставь тады системный хук на события мыша.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
StarHunter
Дата 20.9.2007, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.9.2007

Репутация: нет
Всего: нет



А можно поподробнее! ID то я получил, тока куда его пихать то???? Где искать то оконечный код в помощи то? С чем взаимодействовать, если с помощью системного хука, то где о нем почитать. 

P.S. Прога будет висеть в трее и положения мыши не только для себя сканировать, а весь рабочий стол!
PM MAIL   Вверх
bom
Дата 20.9.2007, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Координаты курсора можно получить достаточно просто.
API: GetCursorPos.
На счет получения событий кнопок - согласен с Akina.

PM MAIL   Вверх
StarHunter
Дата 20.9.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.9.2007

Репутация: нет
Всего: нет



На счет GetCursorPos для VB нету помощи.. Только для Си, но там свои команды.
Напишите хоть строчку от чего отталкиватся то, а то глаза уже устали мануалы читать и все бестолку
PM MAIL   Вверх
kapbepucm
Дата 20.9.2007, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Код
Public Type TPoint
  x As Long
  y As Long
End Type
Public Declare Function GetCursorPos Lib "user32.dll" (ByRef lpPoint As TPoint) As Long
Public Sub test()
  Dim P As TPoint
  GetCursorPos P
  MsgBox P.x & " " & P.y
End Sub


Добавлено через 1 минуту и 59 секунд
подробности


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.