关于WM_KEYDOWN与WM_KEYUP消息的有关问题

关于WM_KEYDOWN与WM_KEYUP消息的问题
各位大神好,,小弟在项目中发现一个问题,就是当响应WM_KEYDOWN与WM_KEYUP消息时,如果鼠标按下然后拖动一段距离,会产生两条消息,分别是虚拟键码Ctrl键跟C键 ,,也就是Ctrl+C键,如下图:
关于WM_KEYDOWN与WM_KEYUP消息的有关问题

请问,我该如何区别用户按下了Ctrl+C还是鼠标按下拖动后弹起?我看来看去,都感觉这种方法产生的消息一样,求指教
------解决方案--------------------
按下鼠标左键拖动后放开发送CTRL和C虚拟键应该是为了支持我们拖动文件是否的复制功能。
但跟CTRL+C不同,我们按CTRL+C的时候可以在按下C键的时候根据GetKeyState来知道CTRL是否按下,人工操作的
话如果是复制CTRL肯定是按下的,但是鼠标拖动这个CTRL这个键不是按下的,而是系统为了复制而发送的按键消息。
所以,在接收到按键C消息的时候,通过GetKeyState判断CTRL是否按下就知道是按键来的还是鼠标拖动来的