我正在尝试创建一个C#应用程序,它将控制游戏.我试图做的是例如:按住A键150ms,按住左箭头500ms,依此类推.我经常搜索,我发现了以下代码.我的程序首先瞄准游戏,然后拿着钥匙.
I'm holding the keys this way:
Keyboard.HoldKey(Keys.Left);
Thread.sleep(500);
Keyboard.ReleaseKey(Keys.Left);
Run Code Online (Sandbox Code Playgroud)
这是Keyboard类:
public class Keyboard
{
public Keyboard()
{
}
[StructLayout(LayoutKind.Explicit, Size = 28)]
public struct Input
{
[FieldOffset(0)]
public uint type;
[FieldOffset(4)]
public KeyboardInput ki;
}
public struct KeyboardInput
{
public ushort wVk;
public ushort wScan;
public uint dwFlags;
public long time;
public uint dwExtraInfo;
}
const int KEYEVENTF_KEYUP = 0x0002;
const int INPUT_KEYBOARD = 1;
[DllImport("user32.dll")]
public static extern int SendInput(uint cInputs, ref Input inputs, int cbSize);
[DllImport("user32.dll")]
static …Run Code Online (Sandbox Code Playgroud) 我正在尝试将键盘输入发送到 Minecraft 以移动播放器,但是当我尝试使用时SendKeys.SendWait("W");什么也没有发生。如果我在 Minecraft 中打开聊天,它会在聊天中输入“W”,但是在聊天之外我的输入似乎被忽略了。谢谢。
编辑:我试过使用SendInput以及InputSimulator两者都具有相同的效果。