Уловете движението на мишката и експортирайте в изображение [код | приложение]

За да получа по-задълбочена информация относно използването на WinForm или Webapplications, искам да уловя информацията за движението на мишката и щракването. Би било идеално, ако това може да се изобрази на изображение.

Резултатът би бил нещо като това:

Google: улавяне на приложението за движение на мишката върху дисплея
Въпросът е как човек започва със създаването на приложение като този?

  • Как да получавам движения на мишката и кликвания, когато това е процес от друго приложение?
  • Как да конвертирате движенията на мишката в изображение?

(Някой знае дали има безплатно/евтино приложение с отворен код, което може да направи това)

IOGraphica може да направи това, но е на Java и е безплатна, но не и с отворен код.


person Ralf de Kleine    schedule 03.03.2011    source източник
comment
Би било интересно да изобразите това и върху екранна снимка на приложението.   -  person BenCr    schedule 03.03.2011
comment
Наистина ще добави и заснемане като фон.   -  person Ralf de Kleine    schedule 25.03.2011


Отговори (2)


Ако търсите нещо, което можете да стартирате външно и да проследявате движението на мишката и щракванията, може да намерите полезен този проект за свързване на мишката/клавиатурата на codeproject.com:

http://www.codeproject.com/KB/system/globalmousekeyboardlib.aspx

Има примерно приложение и библиотека за закачане с пълен код. Това би било отправна точка, която да използвате в усилията си.

person itsmatt    schedule 03.03.2011

Бих се опитал да уловя всяко движение на мишката/щракване на вашите прозорци и да го съхраня в колекция. Когато приключите със записа - опитайте да нарисувате вашето изображение. Бих препоръчал да потърсите "c# capture mouse" или "mouse hook" в Google. Преди време направих това, за да получа кука за клавиатура. Може да разгледате Обработка на глобални събития на мишката .

По отношение на кода това може да помогне:

Dictionary<Point, MouseEventInfo> dict = new Dictionary<Point, MouseEventInfo>();

/// see given link to find the correct way to get this kind of event
public void mouse_event(....)
{
   /// get mouse coordinates

   /// create point struct

   /// check if point exists in DICT

   /// no - add new MouseEventInfo at Point

   /// yes - access MouseEventInfo object and increase a value according to the event

}

public void onFinished()
{
     /// create new bitmap/image - width/height according to your screen resultion

     /// iterate through all MouseEventInfo objects and draw any information

}

/// stores mouse event info for a point
class MouseEventInfo
{
      Point p;
      int moved=0;
      int clicked=0;
      int doubleClicked=0;
}

Знам, че това е само част от псевдокод - както и да е - надявам се това да ви помогне! А - имайте предвид, че всякакъв вид кука (клавиатура, мишка или нещо друго) може да доведе до предупреждение за вирус на вашия antiVir.

чт

person Pilgerstorfer Franz    schedule 03.03.2011