Вопрос: Как выловить нажатие 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); 
} 

--------------------------------------------------------------------------------

	

Электронные Книги по компьютерным программам
На правах рекламы:
Логин
Пароль
Запомнить меня