예제 #1
0
파일: CHook.cpp 프로젝트: DianthuDia/Appkb
LRESULT CALLBACK _CHOOK_CLASS_NAME::HookProc(IN const INT nCode,IN const WPARAM wp, IN const LPARAM lp)
{
	if( nCode < 0 || nCode == HC_NOREMOVE )		// フックしてよいかチェックする
		return ::CallNextHookEx( m_hHook, nCode, wp, lp );

	if(OnHook(wp, lp))
		return TRUE;

	// 処理してもMSGを消さない場合
	return ::CallNextHookEx( m_hHook, nCode, wp, lp );
}
예제 #2
0
void ADC_KeyRun()
{
	UCHAR iKey;

	if (_iADC_KeyStage == KEY_ADC_STAGE)
	{
		_iADC_KeyStage = 0;
		iKey = _ADC_JudgeKey(_pADC_KeyVal);
		if (iKey == KEY_ADC_MAX)
		{
			_iADC_OldKey = 0;
		}
		else
		{
			iKey += 'e';
			if (_iADC_OldKey != iKey)
			{
				_iADC_OldKey = iKey;
				UI_HandleKeys(iKey);
			}
		}
	}
	if (_iADC_KeyStage2 == KEY_ADC_STAGE)
	{
		_iADC_KeyStage2 = 0;
		iKey = _ADC_JudgeKey(_pADC_KeyVal2);

		if (iKey == KEY_ADC_MAX)
		{
			HookHandleHandsetDown(2);
			_iADC_OldKey2 = 0;
		}
		else
		{
			_iHandsetDownCounter = 0;
			iKey += 'p';
			if (_bIsADC_HandsetKey(iKey))
			{
				OnHook();
				_iADC_OldKey2 = 0;
			}
			else
			{
				if (_iADC_OldKey2 != iKey)
				{
					_iADC_OldKey2 = iKey;
					UI_HandleKeys(iKey);
				}
			}
		}
	}
}