[ invazija @ 11.01.2009. 12:36 ] @
Pozdrav,
ocu da napravim neki program koji ce posle pokretanja na osnovu svog algoritma da virtualzuje komande kao da su poslate sa tastature. Npr windowsov program "on-screen keyboard" radi na taj fazon samo sto moj program nece biti takav. Takodje kako da na isti nacin prog pomera strelicu misa po x,y osi?
[ deerbeer @ 12.01.2009. 21:29 ] @
Tastatura :
Code:


BOOL VirtualKeyUp (HWND hWnd,UINT nKey) 
{
 KEYBDINPUT ki;
 ki.wVk = nKey;
 ki.wScan = MapVirtualKeyEx(nKey, 0, GetKeyboardLayout(0));
 ki.dwFlags = KEYEVENTF_EXTENDEDKEY; 
 INPUT ipEvent;
 ipEvent.type = INPUT_KEYBOARD;
 ipEvent.ki = ki;

 SendInput(1, &ipEvent, sizeof(INPUT));
 ::SetFocus (hWnd) ; // fokus na prozor kome saljes keydown pre slanja poruke sa tastature 

return ::SendMessage(hWnd,WM_KEYUP,nKey,0) ;



Kursor :
Code:

BOOL VirtualMouseMove (HWND hWnd ,int x,int y) 
{
  RECT rcWindow ; 
  ::GetWindowRect(hWnd ,&rcWindow) ; 
  
  ClipCursor (&rcWindow) ;  // ogranicava pomeranje kursora van povrsine tvog prozora 
  return ::SetCursorPos (x,y) ; 
  

}


Pozivanje :
Code:
 
HWND hWnd ; //handle od tvog prozora koji bi trebalo da imas vec
BOOL bRet = VirtualKeyDown(hWnd,VK_RETURN) ;  // ENTER taster npr. 
bSucces  = VirtualMouseMove(hWnd,0,100) ; x , y kordinate 

[ invazija @ 16.01.2009. 19:02 ] @
eh, to je to... hvala deerbeer :)