vb如何知道按了ctrl+v?

解决方案 »

  1.   

    简单点,
    做个快捷键是Ctrl+V的菜单。复杂点就做系统钩子,
    判断截获的信息,
    是Ctrl+V就做,
    不是,再转给系统。
      

  2.   

    如果是判断在某个控件(例如:TextBox)上按键,就很简单了,直接由该控件的KeyDown事件上KeyCode的值判断是否按下了"V",由Shift值判断是否按下了"Ctrl".
    如果是判断在应用程序外是否按键,就比较麻烦了,需要创建全局的鼠标hook函数。
      

  3.   

    hook是WINDOWS提供的一种消息处理机制,它使得程序员可以使用子过程来监视系统消息,并在消息到达目标过程前得到处理。WH_JOURNALRECORD Hook使应用程序可以监视输入事件。典型地,应用程序使用该HOOK记录鼠标、键盘输入事件以供以后回放。该HOOK是全局HOOK,并且不能在指定线程中使用。
    WH_MSGFILTER 和WH_SYSMSGFILTER Hooks使应用程序可以监视菜单、滚动条、消息框、对话框,当用户使用ALT+TAB或ALT+ESC来切换窗体时,该HOOK也可以拦截到消息。WH_MSGFILTER仅在应用程序内部监视菜单、滚动条、消息框、对话框,而WH_SYSMSGFILTER则可以在系统内监视所有应用程序的这些事件。
    WH_GETMESSAGE Hook使应用程序可以拦截GetMessage 或 PeekMessage的消息。应用程序使用WH_GETMESSAGE HOOK监视鼠标、键盘输入和发送到队列中的其它消息。