假设我有一份WORD文件,这时我需要通过自己开发的Winform实现如下功能:
鼠标的焦点在WORD中,这时按下F10键 将WORD里的内容 全部复制入剪切板当中。
并激活窗体。

解决方案 »

  1.   


    private void richTextBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
            {
                if ((int)e.KeyCode==121)
                {
                    this.richTextBox1.SelectAll();
                    string copy = richTextBox1.Text;
                    Form1 f = new Form1();
                    f.Focus();
                    MessageBox.Show(copy);
                }
            }
      

  2.   

    微软的那个word文件中的文本 不是richTextBox
      

  3.   

    LS的方法解决不了复制Word的内容到剪贴版, 而且焦点是在Word上的,你要按F10复制数据,然后让Winform激活,没有那么简单,
    如果能做到,你要硬件Word与C#之间的接口了
      

  4.   

    其实复制所有内容也就是按下CTRL+A CTRL+C 然后使窗体激活。
      

  5.   

    先将窗体激活,然后通过F10定位文件位置,找到句柄,通过句柄获取word的内容,在将内容添加到剪切板里。
      

  6.   

    想那么复杂干吗,6楼说的在理,focus在word的时候激发事件么
    直接注册F10为hotkey,然后一旦按下F10,就sendkeys,先ctrl+A再ctrl+C就OK了么
      

  7.   

    你自己想太多了吧,监听键盘事件有什么不可以?再说了,按下F10是word本身的事件么?
    最多监听到F10被按下的时候,判断下当前的focus是不是word类型的文件而已。
    按照楼主描述的,也只是一个全部复制的快捷键而已,这个实现方式就一定像你说的除了钩子别无它途?还有,哥们,你最后一句带着讥讽的话让人看着很不舒服。
    姑且不论你技术怎么样,实在没必要带着这种盛气凌人的优越感。我也不清楚你对钩子到底了解多少,就请问一句,注册热键的方法来自定义快捷键,难道从定义上来说不是钩子机制的一种???