я выполнить следующие шаги, чтобы передать строку ввода в консоли от C#:Как передать ввод строки в консоль с C#?
- я выделить консоль для зрительного процесса студии с использованием метода AllocConsole(), с помощью pInvoking Kernel32.dll.
- Я вызываю процесс Perl из Visual Studio (C#). Процесс Perl автоматически присоединяется к этой консоли. (для меня это нормально).
- Я убиваю «только» процесс Perl, передавая ему сигнал C C. (Я подавляю сигнал Ctrl C для Visual Studio)
- Теперь я хочу отправить команду (простая строка в основном) на эту консоль.
Что такое метод передачи входной строки на консоль?
Я пытаюсь использовать writeConsoleInput(), pInvoking Kernel32.dll, но я застрял на аргументах этой функции. Подпись функции:
[DllImport("kernel32", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool WriteConsoleInput(IntPtr hConsoleInput,
[Out] INPUT_RECORD[] lpBuffer,
int nLength,
out int lpNumberOfEventsWritten);
Может кто-нибудь помочь мне успешно вызвать WriteConsoleInput() или предоставив альтернативный вариант.
Большое спасибо!
Какую команду вы пытаетесь отправить на консоль? Вы просто хотите написать текст на консоли? Вы должны будете объяснить, какова ваша большая цель, потому что описание в вашем вопросе не имеет смысла. –
Попробуйте это [ссылка] (http://stackoverflow.com/questions/854666/how-to-write-to-the-console-input-and-get-the-console-handle) – Nilesh
Наверняка вам просто нужно написать на стандартном входе процессов perl? –