Word VSTO加载项快捷键

问题描述 投票:2回答:1

我尝试在我的Word加载项中使用钩子方法作为快捷键,正如我在这里https://docs.microsoft.com/en-us/archive/blogs/vsod/using-shortcut-keys-to-call-a-function-in-an-office-add-in上发现的那样。尽管此方法可以调用我的方法,但是它确实将快捷方式的字母/数字写入文档中。因此,如果我的快捷方式是ctrl + 2,则在我的方法运行后,它将在文档中写入“ 2”。真正的缺点是,如果在未加载加载项的情况下在Word中按ct​​rl + 2,则不会在文档中写入“ 2”,因此在运行加载项时没有理由这么做。有谁知道如何解决这个问题,或者有其他方法使用Word VSTO插件快捷方式吗?我正在VS 2012中编写插件,并使用Word 2010。

c# ms-word vsto word-2010
1个回答
2
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.