我们真正需要的是一个巧妙的 WinCE API 函数(如 GetAsyncKeyState()),使我们能够在精确的瞬间查看特定的键,并确定该键是否已经按下。不幸的是 .NET Framework 精简版中没有这样的函数。是不是没有办法了呢?那也不是。与组成 .NET Framework 的所有先进功能一样,我们可以通过平台调用(本质上是一个巧妙的技术)使用所有现有的 WinCE API 函数。
所以,如果在代码开头包含以下内容,我们就可以调用 GetAysncKeyState() 函数,就象一直拥有此函数一样:
[DllImport("coredll.dll")]
private static extern int GetAsyncKeyState(int vkey);