А без DX-SDK не получится? Я примерно так делал в одной проге (писАл на билдере):Originally posted by MikeR
Надо - при нажатии джойстика в игре нажималась кнопка, а кнопка джойстика не нажималась.
вызываешь при старте или в нужном месте:
joySetCapture(Handle,JOYSTICKID1,NULL,FALSE); // Hahdle - HWND окна
перехватываешь сообщение типа MM_JOYBUTTONDOWN:
void TWelMonForm::JoyButtonPress(TMessage& message)
{
// MM_JOY1BUTTONDOWN message.
if(!JoyCapture)
{
SendMessage(куда-наверно_своему_окну_(можно_любому),что_за_мессаджь,его_параметры1,его_параметры2); // Здесь будешь посылать клавишу
// или PostMessage(...);
//...
JoyCapture=1; // Don't capture more than 1 frame
}
Хорошо бы еще освободить, а то "залипнет":
void TWelMonForm::JoyButtonRelease(TMessage& message)
{
// MM_JOY1BUTTONUP message.
JoyCapture=0; // Release capture block.
}
А вообще-то, может и не надо освобождать - не помню, там прога была узко специфичная.
В билдере внутри класса окна надо еще вставить такую штуку с точностью до... т.е. без всяких ";" (типа таблицы отклика, кажется, раньше так это называлось)
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(MM_JOY1BUTTONDOWN,TMessage,JoyButtonPress)
MESSAGE_HANDLER(MM_JOY1BUTTONUP,TMessage,JoyButtonRelease)
END_MESSAGE_MAP(TControl)
Удачи!