[英]Simulate KeyPress in C# to Game
I'm trying to simulate a keypress into another window, which is a game. 我正在尝试在另一个窗口中模拟按键,这是一个游戏。 The things that don't work are: 无效的是:
Having problems with DirectInput DirectInput遇到问题
public void Test_KeyDown()
{
INPUT[] InputData = new INPUT[2];
Key ScanCode = Microsoft.DirectX.DirectInput.Key.W;
InputData[0].type = 1; //INPUT_KEYBOARD
InputData[0].ki.wScan = (short)VirtualKeyCode.NUMPAD2 ; //ScanCode;
InputData[0].ki.dwFlags = (int)KEYEVENTF.SCANCODE;
InputData[1].type = 1; //INPUT_KEYBOARD
InputData[1].ki.wScan = (short)VKeys.VK_W;
InputData[1].ki.dwFlags = (int)(KEYEVENTF.KEYUP | KEYEVENTF.UNICODE);
// send keydown
if (SendInput(2, InputData, Marshal.SizeOf(InputData[1])) == 0)
{
System.Diagnostics.Debug.WriteLine("SendInput failed with code: " +
Marshal.GetLastWin32Error().ToString());
}
}
It gives this error: 它给出了这个错误:
Could not load file or assembly 'Microsoft.DirectX.DirectInput.dll' or one of its dependencies. is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)
I've referenced it from DirectX SDK tool kit 2007 我已经从DirectX SDK工具包2007中引用了它
I'm trying to send a key to another instance or handle. 我正在尝试将密钥发送到另一个实例或句柄。 C++ or C# anything that works is fine, too. C ++或C#任何可行的方法也都可以。
看起来您正在尝试在64位解决方案中加载32位dll,因此请使用64位dll
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.