Word VSTO Addin快捷键

时间:2015-02-12 23:10:25

标签: c# ms-word vsto word-2010

我已尝试在我的Word插件中使用快捷键的钩子方法,因为我在这里找到了http://blogs.msdn.com/b/vsod/archive/2010/04/09/using-shortcut-keys-to-call-a-function-in-an-office-add-in.aspx虽然这可以调用我的方法,但它确实将快捷方式的字母/数字写入文档。所以如果我的快捷方式是ctrl + 2,它会写" 2"在我的方法运行后进入我的文档。真正意义上的问题是,如果你没有加载插件时在Word中按ct​​rl + 2,它就不会写" 2"进入文档,所以在运行插件时看不出它应该有的原因。有谁知道如何绕过这个问题或有任何其他方法的Word VSTO插件快捷方式?我正在使用Word 2010在VS 2012中编写我的插件。

1 个答案:

答案 0 :(得分:2)

第一个问题: 您每次都调用return(int)CallNextHookEx(_ hookID,nCode,wParam,lParam),因此Keydown的事件将冒泡到其他侦听器(如文档)。如果您不希望事件进一步发布,请尝试返回1.

关于ThreadId: 究竟是什么错误?我不确定VSTO如何实现synchronizationcontext处理,例如请参见:VSTO: invoking on main Excel threadHow can SynchronizationContext.Current of the main thread become null in a Windows Forms application?