DirectInput下如何用C# 实现模拟键盘 按键 功能?
DirectInput下如何用C#实现模拟键盘按键功能?请注意是DirectInput输入技术的情况下实现按键盘的功能,C#里有DirectInput相关的函数可以操作吗...
DirectInput下如何用C# 实现模拟键盘 按键 功能?请注意是DirectInput输入技术的情况下实现按键盘的功能,C#里有DirectInput相关的函数可以操作吗?求高手指教?
展开
2个回答
展开全部
C#可以调用Managed DirectX里的DirectInput。
Managed DirectX不是.Net FrameWork里自带的,需要安装DirectX 9.0 SDK。
调用代码如下:
keyboard = new Microsoft.DirectX.DirectInput.Device(SystemGuid.Keyboard);//实例化键盘对象
keyboard.SetCooperativeLevel(this, CooperativeLevelFlags.Background | CooperativeLevelFlags.NonExclusive);
keyboard.Acquire();//链接键盘设备
KeyboardState keys = keyboard.GetCurrentKeyboardState(); //获取键盘当前状态
if (keys[Key.Escape]) //如果按下ESC键
{
DialogResult result=MessageBox.Show("是否退出程序?","提示
",MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
Application.Exit();
}
}
Managed DirectX不是.Net FrameWork里自带的,需要安装DirectX 9.0 SDK。
调用代码如下:
keyboard = new Microsoft.DirectX.DirectInput.Device(SystemGuid.Keyboard);//实例化键盘对象
keyboard.SetCooperativeLevel(this, CooperativeLevelFlags.Background | CooperativeLevelFlags.NonExclusive);
keyboard.Acquire();//链接键盘设备
KeyboardState keys = keyboard.GetCurrentKeyboardState(); //获取键盘当前状态
if (keys[Key.Escape]) //如果按下ESC键
{
DialogResult result=MessageBox.Show("是否退出程序?","提示
",MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
Application.Exit();
}
}
更多追问追答
追问
没办法直接从集合里引用吗?例如:USING .....
追答
当然要引入using Microsoft.DirectX.DirectInput;命名空间了,只是要先添加这个引用Microsoft.DirectX.DirectInput.dll。这个dll在你安装DirectX 9.0 SDK后会加入到.Net FrameWork的类库里。如果还是不明白的话你可以搜下Managed DirectX的教程。不过现在Managed DirectX已经很少了,已经被XNA框架代替了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询