Вот как я решил данную проблему

:
BOOL CUOLoopPlusDlg::PreTranslateMessage(MSG* pMsg)
{
static bool bCtrl = false;
if (pMsg->wParam == VK_CONTROL && pMsg->message == WM_KEYDOWN)
bCtrl = true;
if (pMsg->wParam == VK_CONTROL && pMsg->message == WM_KEYUP)
bCtrl = false;
if (pMsg->message == WM_KEYDOWN)
{
if (pMsg->wParam == 0x41 && bCtrl)
{
return ::TranslateAccelerator(m_hWnd, m_Accel, pMsg);
}
}
return CDialog::PreTranslateMessage(pMsg);
}
Есть ли более оптимальный способ так как не нравится использование статических флагов... да и интересно в принципе....

WBR g0blin [RSDN@Home 1.1.2 beta 1][OD.UA.GH]
Здравствуйте, g0blin, Вы писали:
Можно вот так :
G>BOOL CUOLoopPlusDlg::PreTranslateMessage(MSG* pMsg)
G>{
bool bCtrl = ( ::GetKeyState( VK_CONTROL ) < 0 ) ;
G> if (pMsg->message == WM_KEYDOWN)
G> {
G> if (pMsg->wParam == 0x41 && bCtrl)
G> {
G> return ::TranslateAccelerator(m_hWnd, m_Accel, pMsg);
G> }
G> }
G> return CDialog::PreTranslateMessage(pMsg);
G>}
Вместо GetState можно использовать GetAsyncKeyState
AG>Вместо GetState можно использовать GetAsyncKeyState
Ну в смысле вместо
GetKeyState можно использовать GetAsyncKeyState