我试着在Word插件中使用快捷键的钩子方法,就像我在here Using shortcut keys to call a function in an Office Add-in上发现的那样,虽然它调用了我的方法,但它确实将快捷键的字母/数字写入到文档中。因此,如果我快捷方式是ctrl+2,那么在我的方法运行之后,它会在我的文档中写入"2“。真正奇怪的是,如果你在Word中没有加载插件时按下ctrl+2,它不会在文档中写入"2“,所以没有理由在运行插件时写入”2“。有没有人知道如何解决这个问题,或者有任何其他的Word VSTO插件快捷方式的方法?我写我的插件在VS2012和使用Word 2010。
发布于 2015-02-13 19:06:56
第一个问题:您每次都调用return (int)CallNextHookEx(_hookID,nCode,wParam,lParam),因此键控事件将被冒泡到其他侦听器(如文档)。如果不想进一步发布事件,请尝试返回1。
关于ThreadId:错误到底是什么?我不确定VSTO是如何实现同步上下文处理的,例如:VSTO: invoking on main Excel thread或How can SynchronizationContext.Current of the main thread become null in a Windows Forms application?
https://stackoverflow.com/questions/28489656
复制相似问题