All pastes #108334 Raw Edit

Untitled

public cpp v1 · immutable
#108334 ·published 2006-07-31 13:00 UTC
rendered paste body
ULONGWinProc(POBJECT hObject,			ULONG uMsg,			ULONG wParam,			ULONG lParam){ULONG Status = FALSE; // if msg is not handled by our winproc the let default handler do itPUCHAR CommandBuffer, LogBuffer;	switch(uMsg)	{	case MSG_KEYDOWN :		if(lParam == CTRL)			CTRLStatus = TRUE; // Set CtrlStatus as pressed		else if(lParam == 'd')			if(CTRLStatus) // if ctrl+d			{				Fired = !Fired; 				HandleKbEvent = Fired; // keyboard event is handled only if gui is fired				if(Fired)					RefreshDisplay();				Status = TRUE; // We don't want this event to be handled by object manager			}		if(Fired)// if gui is fired		{			switch(lParam) // let's go handle keycode			{			case ENTER :				// log command				LogBuffer = (PUCHAR)SendMessage(hLogEdit, MSG_GETTEXT, 0, 0);				CommandBuffer = (PUCHAR)SendMessage(hCommandEdit, MSG_GETTEXT, 0, 0);								strcat(LogBuffer, "\r\n");				strcat(LogBuffer, CommandBuffer);								SendMessage(hLogEdit, MSG_SCROLL_DOWN, 0, 10); // auto scroll				SendMessage(hCommandEdit, MSG_SET_TEXT, 0, (ULONG)": ");				// then process command...				Status = TRUE;				break;			case F5 :				// refresh				RefreshDisplay();				Status = TRUE;				break;			}		}		break;	case MSG_KEYUP :			if(lParam == CTRL)			CTRLStatus = FALSE; // Set CtrlStatus as released		Status = TRUE;	}	if(!Fired)		return TRUE; // If gui is not fired, no need to let object manager handle this message	return Status; };