Предполагая, что это внутри вашего winproc:
if(wParam & MK_SHIFT)
{
if (wParam & MK_CONTROL && wParam & MK_SHIFT)
{
//click+Shift+Ctrl
}
else if(wParam & MK_SHIFT && HIBYTE(GetKeyState(VK_MENU)) & 0x80)
{
//alt+shift
}
else
{
//just shift
}
}
Shift, click и alt немного сложнее, вы должны использовать другой способ
Почему так?На странице WM_LBUTTONDOWN вы увидите, что для каждого отправленного сигнала у вас есть заданные параметры.Одним из них является wparam.Он может иметь разные значения в зависимости от того, нажата ли какая-то специальная клавиша или нет
И поскольку wparam сигнала WM_LBUTTONDOWN не содержит информацию о кнопке alt, вам придется использовать GetKeyState функция, которая возвращает старшее значение бита 1, если клавиша нажата, и что-либо еще, если это не так.