Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java C#,采矿工艺和钥匙招标。每个键盘事件(控制除外)都被检测为;SOH\SOH]SOH“;_Java_C#_Keyboard_Minecraft - Fatal编程技术网

Java C#,采矿工艺和钥匙招标。每个键盘事件(控制除外)都被检测为;SOH\SOH]SOH“;

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模拟按键的唯一方法是机器人按下键盘上的按钮。你的

我试图通过我的C#应用程序在Java Edition Minecraft中设置控件:


我试着修改每个数字和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);
            }
        }





    }
}