Pues recurro a vuestra sabiduría para ver si, como otras veces, podríais darme un poco de luz.
El tema es que quiero hacer un programilla que me camine solo en un juego mientras está minimizado, pero no hay manera... He probado con SendMessage, PostMessage y keybd_event, y nada, lo máximo que he conseguido ha sido que me escriba en el propio chat del juego la letra que mando, pero lo que es hacer alguna acción, no hace nada...
También he ido un poco más allá con el Spy++, para ver cuales eran las apis que llamaba el juego, y he obtenido los siguientes mensajes:
Pulsando la tecla shift directamente en el juego:
000A041A P WM_KEYDOWN nVirtKey:VK_SHIFT cRepeat:1 ScanCode:2A fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000010 lParam:002A0001]
000A041A P WM_KEYDOWN nVirtKey:VK_SHIFT cRepeat:1 ScanCode:2A fExtended:0 fAltDown:0 fRepeat:1 fUp:0 [wParam:00000010 lParam:402A0001]
000A041A P WM_KEYDOWN nVirtKey:VK_SHIFT cRepeat:1 ScanCode:2A fExtended:0 fAltDown:0 fRepeat:1 fUp:0 [wParam:00000010 lParam:402A0001]
Enviando un SendMessage desde mi programita a la propia ventana del juego, a través de SendMessage(hwnd, (uint)WM_KEYDOWN, (UIntPtr)0x00000010, (IntPtr)(0x002A0001)) , he obtenido esto:
000A041A S WM_KEYDOWN nVirtKey:VK_SHIFT cRepeat:1 ScanCode:2A fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000010 lParam:002A0001]
000A041A R WM_KEYDOWN lResult:00000000
000A041A S WM_KEYDOWN nVirtKey:VK_SHIFT cRepeat:1 ScanCode:2A fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000010 lParam:002A0001]
000A041A R WM_KEYDOWN lResult:00000000
000A041A S WM_KEYDOWN nVirtKey:VK_SHIFT cRepeat:1 ScanCode:2A fExtended:0 fAltDown:0 fRepeat:0 fUp:0 [wParam:00000010 lParam:002A0001]
000A041A R WM_KEYDOWN lResult:00000000
El tema es que llama a las mismas apis con el mismo wParam y lParam, exactamente igual, el tema es que al llamar desde mi programa saca ese "lResult:00000000" que no se que será, no se si habría que meter un delay entre llamada y llamada y puede ser que sea por eso, o nose...
Alguien sabría decirme algo? A alguien que le haya pasado ya o lo que sea xd
Muchas gracias de antemano!