0

我有一些用 WPF 编写的 VS2010 插件。我的 WPF 应用程序处理一些基本的快捷方式。以前,我的 WPF 是独立的应用程序,我使用快捷键(Ctr+c、Ctrl、v)处理了一些基本命令(复制、粘贴等)。

现在我的应用程序内置在 VS 中,我无法获取这些密钥,因为 VS 处理它们并阻止它们。我试图挂钩到键盘事件,但我看到了很多,这是一种肮脏的方式。

VS 有什么方法想要处理快捷方式,或者至少我的应用程序将有机会首先处理事件?

这样做的正确方法是什么?

谢谢,莱昂

4

1 回答 1

1

您应该使用 Visual Studio 命令。Visual Studio 有自己的键绑定,因此 Copy 可能不会映射到 Ctrl-C,具体取决于用户的设置。

看一下IOleCommandTargetandVsStd2k命令集。根据您添加外接程序的方式,在某些时候,您将收到对IOleCommandTarget包中实现的调用。为了接收对您的Execute方法的调用,您首先需要告诉 IDE 您确实处理了该命令(为此,您需要实现QueryStatus并通知 VS 该命令有效以进行处理)。复制命令在GUID_VSStandardCommandSet97命令组中。

于 2013-01-30T08:36:55.043 回答