Symulacja myszy i klawiatury

Odpowiedz Nowy wątek
2009-03-05 21:30
Bilski
0

Potrzebuje napisać program w C#, który będzie symulować wciśnięcia klawiszy i kliknięcia myszką.

Jakie to będą polecenia.

Na przykład:
Załóżmy, że przycisk do FireFoxa na Pasku szybkiego uruchamiania znajdzuje się w punkcie o współrzędnych A i B. Oczywiście wartości A i B muszą być ustalone pod konkretny komputer i konkretne ustawienia systemu Windows.

Algorytm:

  • Przesuń wskaźnik myszy na współrzędne x=A i y=B
  • Wykonaj kliknięcie myszą
  • Odczekaj 3 sekundy
  • Wciśnij klawisze CTRL+"L"
  • Wciśnij klawisz "w"
  • Wciśnij klawisz "w"
  • Wciśnij klawisz "w"
  • Wciśnij klawisz "."
  • Wciśnij klawisz "w"
  • Wciśnij klawisz "p"
  • Wciśnij klawisz "."
  • Wciśnij klawisz "p"
  • Wciśnij klawisz "l"
  • Wciśnij klawisz ENTER

Skutkiem wywołania programu z tym algorytmem będzie uruchmienie przeglądarki FireFox i wyświetlenie Wirtualnej Polski.

Oprócz powyższego, potrzebuję jeszcze możliwość zrzutu całego ekrznu ze wskaźnikiem myszki do bitmapy.

Pozostało 580 znaków

2009-03-05 22:13
Rev
0
Process p = new Process();
p.StartInfo.FileName = @"firefox";
p.StartInfo.Arguments = "http://www.wp.pl";
p.Start();

Nie mogłem się powstrzymać :/.


Pozostało 580 znaków

2009-03-05 23:04
Bilski
0

To też się przyda, ale to nie to, czego szukam.

W Delphi jest coś takiego:

SetCursorPos(X,Y); - przesunięcie położenie myszki pod wskazany punkt
mouse_event(2, 0, 0, 0, 0); - wciśnięcie lewego przycisku
mouse_event(4, 0, 0, 0, 0); - zwolnienie lewego przycisku

Teraz szukam tego samego w C# plus wciśnięcia klawiszy

Pozostało 580 znaków

2009-03-06 00:07
Rev
0

Z klawiaturą będzie tak:
Prostsza metoda to użycie klasy SendKeys z frameworka, jednak ta klasa ma pewne ograniczenia: http://msdn.microsoft.com/en-us/library/ms171548.aspx
Trudniejsza metoda to użycie pinvoke i ręczna obsługa tego powyżej: http://www.pinvoke.net/default.aspx/coredll/SendInput.html


Pozostało 580 znaków

2009-03-06 12:10
0

mozna tez i pinvokiem uzywac mouse_event i keybd_event --- ale trzeba je wykonywac z dobrego miejsca, we wlasciwym czasie.. troche szkoda zachodu


no to pojechałem z nieobecnością.. chwila przerwy i prawie rok przeleciał

Pozostało 580 znaków

2010-03-14 16:19
0

http://homeofcox-cs.blogspot.[...]ouse-and-keyboard-events.html

nawet używałem tego kiedys, aczkolwiek działało tylko na systemach XP 32 bit


Pozostało 580 znaków

2010-03-14 17:15
msm
0

Co was tak wzięło na odpowiadanie w wątku sprzed roku? Nie wiem właściwie czemu "REKLAMA" wybrał ten temat na wylewanie swoich żalów...

@down - moderatorzy nie śpią :]

Pozostało 580 znaków

2010-03-14 17:34
0

hehe, ja nawet nie spojrzałem na date... fakt, rok temu O_o
A post pana REKLAMY zniknał


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0