Вопрос: Как выловить нажатие Shift при запуске программы?
Ответ :
Используйте GetKeyState() из Win32API;
В OnCreate формы пишешь:
code:
--------------------------------------------------------------------------------
SHORT SW = GetKeyState(VK_LSHIFT); // Типа статус ворд
if((SW = (SW>>15)&1) != 0)
MessageBox(HWND_DESKTOP, "Левый Shift однозначно нажат",NULL,MB_OK);
--------------------------------------------------------------------------------
На правый шифт VK_RSHIFT соответственно.
Если нужно обрабатывать нажатие шифта по ходу дела, то поставь в главной форме
( у меня MainForm) KeyPreview = true, и обрабатывайте событие OnKeyDown:
code:
--------------------------------------------------------------------------------
void __fastcall TMainForm::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Shift.Contains(ssShift))
Application->MessageBox("Shift пашет",NULL,MB_OK);
}
--------------------------------------------------------------------------------
|