C# 捕获一个移位+;tab键在C中按下#
我试图使用以下cpp语法捕获c#中的shift+tab:C# 捕获一个移位+;tab键在C中按下#,c#,C#,我试图使用以下cpp语法捕获c#中的shift+tab: if (GetAsyncKeyState(VK_SHIFT) & 0x8000) { // The key is currently down } 有人能给我指出c#等价物吗 谢谢, Drew语法几乎完全相同 您需要像下面这样声明GetAsyncKeyState方法: [DllImport("user32.dll")] static extern int GetAsyncKeyState(System.
if (GetAsyncKeyState(VK_SHIFT) & 0x8000)
{
// The key is currently down
}
有人能给我指出c#等价物吗
谢谢,
Drew语法几乎完全相同 您需要像下面这样声明
GetAsyncKeyState
方法:
[DllImport("user32.dll")]
static extern int GetAsyncKeyState(System.Windows.Forms.Keys vKey);
您可以编写键,而不是VK\u SHIFT
此外,C#不会将int
不精确地转换为bool
,因此您需要将其与0
进行比较
因此,您需要编写
if ((GetAsyncKeyState(Keys.Shift) & 0x8000) != 0)
然而
通过检查,您可以在不使用p/Invoke的情况下执行此操作。感谢您提供的语法。不幸的是,这是一个VSTO word外接程序,因此我必须使用P/Invoke。您甚至可以在VSTO中使用Control.ModifierKeys。只需添加对System.Windows.Forms.dll的引用。从MSDN签出即可