Komputerku kochany nacisnij przycisk !

0

Czesc wam wszystkim !
Mam pytanie, pewnie dla starych wyjadaczy to pytanie moze okazac sie banalne, ale nie dla mnie. Myslalem i probowalem to zrobic ale nic nie wychodzilo. No ok juz pisze o co chodzi, chodzi oto ze:
Pasuje mi zrobic programik ktory bedzie naciskal przycisk myszki (lewy i prawy) i wybrane przyciski na klawiaturze.
I nie wiem właśnie jak zrobic to zeby on nacikal te przyciski, powiedzcie mi jak to zrobić plz!

Dzieki za wszystkie odpowiedzi!

0

A probowales uzyc wysylania komunikatow funkcja PostMessage (lub SendMessage)??

Jak nie, to sprobuj :); warunkiem w takim wypadku jest tylko znanie uchwytu okna.

Komunikaty, ktore bedą Cie interesować szczególnie to:
WM_CHAR (naciskanie klawiszy)
WM_LBUTTONDOWN i WM_RBUTTONDOWN (mysz)

O ich budowie poczytaj w helpie Delphi.

narazka

0

dzieki ! Ale jak to wykorzystac ? Prosze o kawalek kodu

Dokaładnie chodzi i oto zeby programik ustawil kursor myszki w danym miejscu i nacisnal lewy/prawy przycisk myszki. (jak ustawic kursor myszki w wybranym miejscu wiem). Dzieki za odpowiedzi ...

0

keybd_event, mouse_event, F1, FAQ, Google, Wyszukiwarka, myślenie itp.

0

Witam ponownie. Przecież już pisalem co musisz zrobić :(. Jak nie umiesz używać komunikatów, to poczytaj... gdzieś... chodźby tutaj, na 4programmers. Zimne kopiowanie kodu z posta niczego cie nie nauczy. Największą satysfakcje uzyskasz, jak sam do tego dojdziesz -> a problem jest naprawde nie skomplikowany i istnieje duze prawdopodobienstwo, ze tak sie wlasnie stanie :)

narazka

0

To PostMessage nie chce dzialac :(
Napisałem wszystko (żeby znalazł handle itd.) i nic
moze cos zle wpisalem albo co ale przeczytaj i podpowiedz cos

PostMessage(H, WM_RBUTTONDOWN,0,0);

Oczywiscie wyzej jest znajdowanie uchwytu itd.
Ale jak zamiast WM_RBUTTONDOWN wpisalem WM_QUIT to progsa zamknelo, ale jak chce nacisnac przycisk myszki to nie dziala. Podpowiedz cos plz ! na razie

0

Cytat z helpa:

The WM_RBUTTONDOWN message is posted when the user presses the right mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.

WM_RBUTTONDOWN
fwKeys = wParam; // key flags
xPos = LOWORD(lParam); // horizontal position of cursor
yPos = HIWORD(lParam); // vertical position of cursor

Parameters
fwKeys
Value of wParam. Indicates whether various virtual keys are down. This parameter can be any combination of the following values:

Value Description
MK_CONTROL Set if the CTRL key is down.
MK_LBUTTON Set if the left mouse button is down.
MK_MBUTTON Set if the middle mouse button is down.
MK_RBUTTON Set if the right mouse button is down.
MK_SHIFT Set if the SHIFT key is down.

xPos
Value of the low-order word of lParam. Specifies the x-coordinate of the cursor. The coordinate is relative to the upper left corner of the client area.

yPos
Value of the high-order word of lParam. Specifies the y-coordinate of the cursor. The coordinate is relative to the upper left corner of the client area.

Return Values
If an application processes this message, it should return zero.

Remarks
An application can use the MAKEPOINTS macro to convert the lParam parameter to a POINTS structure.

0

Masz do wyboru albo:
1.

  • pobrac uchwyty wszystkich okien (EnumWindows i te sprawy)
  • wysłac do tych okien WM_CHAR, które jest dość pokomplikowane

lub

  1. Użyć funkcji keybd_event albo mouse_event, ładnie opisanych w helpie, i na pewno działających. Kod bedzie zajmował 2 linijki.

Wybór należy do ciebie :-)

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