大家好。  有 c# 调用word 现在需要禁用word的  ctrl+p 快捷键。 
搜索 发现 
禁用Word的快捷键:  
  object  missing  =  System.Reflection.Missing.Value;  
  int  keySaveAs  =  wordApp.BuildKeyCode(Word.WdKey.wdKeyF12,  ref  missing,  ref  missing,  ref  missing);  
  wordApp.get_FindKey(keySaveAs,  ref  missing).Disable();  如上代码  已经可以实现 F12的屏蔽 。 但是Ctrl+p 应该怎办办? 还请各位帮忙。 谢谢。

解决方案 »

  1.   

    试试int  keySaveAs  =  wordApp.BuildKeyCode(Word.WdKey.wdKeyControl,  Word.WdKey.wdKeyP,  ref  missing,  ref  missing); 
      wordApp.FindKey(keySaveAs,  ref  missing).Disable();
      

  2.   

    Word.WdKey.wdKeyF12前面加个&尝试一下了。(加个与&)
      

  3.   


    错误 4 参数“2”: 无法从“Word.WdKey”转换为“ref object” E:\Program\test\DocFrmBase.cs 203 104 test
    还是谢谢,继续求解。
      

  4.   

    应该是异或才对,搂主这样应该可以:
    Word.WdKey.wdKeyControl | Word.WdKey.wdKeyP
      

  5.   


                //环境 WinXP(SP2),Word2003,VS2005,C#2.0
                Microsoft.Office.Interop.Word.Application wordAPP = new Microsoft.Office.Interop.Word.Application();
                wordAPP.Visible = true;
                
                object key = Microsoft.Office.Interop.Word.WdKey.wdKeyP;            object missing = System.Reflection.Missing.Value;            //好象要先增加一个文档才有作用
                wordAPP.Documents.Add( ref missing, ref missing, ref missing, ref missing );            int keySaveAs = wordAPP.BuildKeyCode( Microsoft.Office.Interop.Word.WdKey.wdKeyControl, ref key, ref missing, ref  missing );
                wordAPP.get_FindKey( keySaveAs, ref  missing ).Disable();            wordAPP = null;     //释放引用
      

  6.   

    wordAPP.get_FindKey( keySaveAs, ref  missing ).Disable();
    貌似一个开关,一下子可以禁用,再来一下子又启用。
      

  7.   

    估计要拆开了,搂主拆开看看呢,如下面:
    object missing = System.Reflection.Missing.Value;
    Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
    int controlKey = wordApp.BuildKeyCode(Microsoft.Office.Interop.Word.WdKey.wdKeyControl, ref missing, ref missing, ref missing);
    int pKey = wordApp.BuildKeyCode(Microsoft.Office.Interop.Word.WdKey.wdKeyP, ref missing, ref missing, ref missing);
    wordApp.get_FindKey(controlKey | pKey, ref missing).Disable();