Java C#,采矿工艺和钥匙招标。每个键盘事件(控制除外)都被检测为;SOH\SOH]SOH“;
我试图通过我的C#应用程序在Java Edition Minecraft中设置控件:Java C#,采矿工艺和钥匙招标。每个键盘事件(控制除外)都被检测为;SOH\SOH]SOH“;,java,c#,keyboard,minecraft,Java,C#,Keyboard,Minecraft,我试图通过我的C#应用程序在Java Edition Minecraft中设置控件: 我试着修改每个数字和0x格式,并将int改为string、byte和decimal。一切都给我结果SOH\SOH]SOH。我尝试将WindowsInput库与VK一起使用,但每次的结果都是一样的。你知道怎么做吗?通过c#app获得正确的关键报价?我想创建一个机器人来制作minecraft,我不想作弊,只想给我的孩子找点乐子 你可以模拟按键。我发现通过directx模拟按键的唯一方法是机器人按下键盘上的按钮。你的
我试着修改每个数字和0x格式,并将int改为string、byte和decimal。一切都给我结果
SOH\SOH]SOH
。我尝试将WindowsInput库与VK一起使用,但每次的结果都是一样的。你知道怎么做吗?通过c#app获得正确的关键报价?我想创建一个机器人来制作minecraft,我不想作弊,只想给我的孩子找点乐子 你可以模拟按键。我发现通过directx模拟按键的唯一方法是机器人按下键盘上的按钮。你的解决方案不可行
using System;
using WindowsInput.Native;
using WindowsInput;
using System.Threading;
using System.Runtime.InteropServices;
using System.Diagnostics;
namespace MinecraftController
{
class Program
{
const UInt32 WM_KEYDOWN = 0x0100;
const int VK_F5 = 68;
[DllImport("user32.dll")]
static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);
[STAThread]
static void Main(string[] args)
{
while (true)
{
Process[] processes = Process.GetProcesses();
Process mc;
foreach (Process proc in processes)
{
if (proc.ProcessName.ToLower().Contains("java"))
{
if (proc.MainWindowTitle.ToLower().Contains("minecraft"))
{
Console.WriteLine(proc.ProcessName);
Console.WriteLine(proc.MainWindowTitle);
mc = proc;
PostMessage(mc.MainWindowHandle, WM_KEYDOWN, 17, 0);
}
}
}
Thread.Sleep(5000);
}
}
}
}