Как я могу отправить ввод с клавиатуры из unity (C#) в файл .exe?
Всем привет.
У меня есть базовый exe-файл, который требует нажатия буквенной клавиши, а затем клавиши возврата для ввода этого выбора. Я пытаюсь управлять этим входом с помощью игры, которую я построил в Unity, в частности, с помощью функций, которые я вызываю нажатием клавиш.
В настоящее время, когда я нажимаю "пробел", вызывается следующая функция, которая открывает exe-файл:
public static void runStim () { ProcessStartInfo startInfo = new ProcessStartInfo("C:\\Users\\Nathan\\Desktop\\stim_data_receiver.exe", "NO_STIMULATOR 1000000 REMOTE"); startInfo.RedirectStandardOutput = false; startInfo.RedirectStandardError = false; startInfo.RedirectStandardInput = true; startInfo.UseShellExecute = false; startInfo.CreateNoWindow = false; Process stim = new Process(); stim.StartInfo = startInfo; stim.Start(); }
Пока он открыт и возвращается в игру, клавиша возврата вызывает функцию "enterCommand". Мне нужно это, чтобы написать письмо программе так же, как вы можете, когда exe-файл открывается сам по себе. Я не был успешным в этом.
Мне посоветовали, чтобы мои опробованные методы (ниже) пытались отправить данные в процесс, записывая их в сам exe - файл, а не в входной поток процесса-может ли кто-нибудь помочь мне достичь этого?
Я должен упомянуть, что мой метод действительно работает с записью строки в txt-файл.
Любая помощь очень ценится. Спасибо.
Что я уже пробовал:
public static void enterCommand() { using (StreamWriter outputfile = new StreamWriter("C:\\Users\\Nathan\\Desktop\\stim_data_receiver.exe", true)) { outputfile.Write("%/Hello"); } }
public static void enterCommand() { StreamWriter w; w = new StreamWriter(@"C:\\Users\\Nathan\\Desktop\\stim_data_receiver.exe"); w.WriteLine("hello"); }