Цитата(zone84 @ 19:10:2007, 09:52 )
Diseqc12.txt нигде не могу найти.
Поиск рулит! А вообще и искать ничего не надо, у тебя оказывается полные исходники плагина имеются.
Итак по шагам:
1. смотрим Fiche1.cpp
//---------------------------------------------------------------------------
void __fastcall TForm1::SecondWestClick(TObject *Sender)
{ strcpy(cmdDiseqc.Cmd,"\xE0\x31\x69\x00");
cmdDiseqc.Cmd[3]=(char)Duree->Value;
cmdDiseqc.dwCmdLength='\x04';
PROG_Send_Diseqc();
affich_niveau_reception();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SecondEastClick(TObject *Sender)
{ strcpy(cmdDiseqc.Cmd,"\xE0\x31\x68\x00");
cmdDiseqc.Cmd[3]=(char)Duree->Value;
cmdDiseqc.dwCmdLength='\x04';
PROG_Send_Diseqc();
affich_niveau_reception();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StepWestClick(TObject *Sender)
{ strcpy(cmdDiseqc.Cmd,"\xE0\x31\x69\x00");
cmdDiseqc.Cmd[3]=(char)-Step->Value; // 1 byte signщ moins
cmdDiseqc.dwCmdLength='\x04';
PROG_Send_Diseqc();
affich_niveau_reception();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StepEastClick(TObject *Sender)
{ strcpy(cmdDiseqc.Cmd,"\xE0\x31\x68\x00");
cmdDiseqc.Cmd[3]=(char)-Step->Value; // 1 byte signщ moins
cmdDiseqc.dwCmdLength='\x04';
affich_niveau_reception();
}
Вот они - команды поворота движка "на все 4 стороны".
Как видим здесь сперва подготавливается код команды, а затем вызывается
PROG_Send_Diseqc(); - отправка команды.
2. Находим описание
PROG_Send_Diseqc(); в модуле Diseqc12.cpp
int PROG_Send_Diseqc( void)
{ cmdDiseqc.dwSize=sizeof(cmdDiseqc);
return SendMessage(ProgDVDWindow,WM_USER,PROGAPI_SEND_DISEQC,DWORD(&cmdDiseqc));
}
И видим, что сам плагин ничего по большому счету не делает, он лишь предоставляет пользовательский интерфейс для работы с движком, а сам передает команды на исполнение основной программе.
Вывод. Хочешь управлять движком из своей проги, также как это делает данный плагин - сделай такойже плагин, но без визуального интерфейса. Пускай он ловит сообщения от твоей проги и передает их в основную прогу. Естественно она при этом должна быть запущена.