Использование класса процесса в System.Diagnostics, я смог запустить исполняемый файл в программе, но я хочу сгенерировать текст в своей программе и передать его исполняемому файлу, чтобы преобразовать прямо в выходной файл (.midi), а не генерировать файл и затем преобразовать файл. Это возможно? Если нет, то какой простой способ, скажем, преобразовать текст, который я генерирую в своей программе, в файл, преобразовать файл в выходной файл, а затем удалить этот файл? Исполняемые источниковедение: http://www.fourmilab.ch/webtools/midicsv/Изменение входного потока для командной строки на C# из «Csvmidi.exe file.text file.midi» на «Csvmidi.exe inputString file.midi»
using System.Diagnostics
Process converter= new Process();
converter.StartInfo.FileName = "Csvmidi.exe";
converter.StartInfo.Arguments = "file.midi file.midi";
converter.Start();
Например, скажем, у меня есть строка, inputText, что соответствует содержимое файла, file.text.
string inputText = "0, 0, Header, 1, 1, 480\n" +
"1, 0, Start_track\n" +
"1, 0, Title_t, \"Close Encounters\"\n" +
"1, 0, Text_t, \"Sample for MIDIcsv Distribution\"\n" +
"1, 0, Copyright_t, \"This file is in the public domain\"\n" +
"1, 0, Tempo, 500000\n" +
"1, 0, End_track\n" +
"2, 0, Start_track\n" +
"2, 0, Instrument_name_t, \"Church Organ\"\n" +
"2, 0, Program_c, 1, 19\n" +
"2, 0, Note_on_c, 1, 79, 81\n" +
"2, 960, Note_off_c, 1, 79, 0\n" +
"2, 960, Note_on_c, 1, 81, 81\n" +
"2, 1920, Note_off_c, 1, 81, 0\n" +
"2, 1920, Note_on_c, 1, 77, 81\n" +
"2, 2880, Note_off_c, 1, 77, 0\n" +
"2, 2880, Note_on_c, 1, 65, 81\n" +
"2, 3840, Note_off_c, 1, 65, 0\n" +
"2, 3840, Note_on_c, 1, 72, 81\n" +
"2, 4800, Note_off_c, 1, 72, 0\n" +
"2, 4800, End_track\n" +
"0, 0, End_of_file";
Могу ли я передать эту строку исполняемому файлу вместо текстового файла?
Редактировать: У меня был друг, помог мне, создав временный файл, чтобы скопировать текст, чтобы запустить процесс перед его удалением. Спасибо всем за помощь!
Если этот 'converter.exe' принимает только входные и выходные пути файлов в качестве аргументов, вам придется создавать файлы. –
В нем говорится, что преобразователь.exe может считывать ввод со стандартного ввода, если файл не указан, поэтому я предполагаю, что это будет означать медленное вхождение значений в командной строке. Означает ли это, что это возможно, я могу просто передать значения как одну строку, считая, что она отформатирована правильно? – Ignify