Это несколько не так просто. Дело в том, что отправка комбинации кнопок, это отправка 4-х сообщений в игру:
1. Нажать Ctrl
2. Нажать В
3. Отпустить В
4. Отпустить Ctrl
В общем-то можно поставить в очередь обработки все 4 кнопки, но тут есть тонкость обработки этих кнопок самим ddraw.dll (TA Demo Recorder). Вот пример его кода:
Код:
case WM_KEYDOWN:
if ((GetAsyncKeyState(VK_LCONTROL)&0x8000)>0 && (GetAsyncKeyState(VK_LSHIFT)&0x8000)==0)
{
if (0x53==(int)wParam) //ctrl+s
{
SelectOnlyInScreenWeaponUnit(MOVEUNITSELECTABLE);
Немного поясню код: когда приходит событие нажатия кнопки (WM_KEYDOWN), то ddraw.dll ещё проверяет нажаты ли Ctrl и Shift через функцию GetAsyncKeyState(). А насколько я знаю, эта функция работает вне событий игры, она как бы считывает состояние кнопок сразу с устройства. И вот как сделать имитацию нажатия кнопки - я не знаю (попытки были, но не получалось).