Как записать файл в STDIN Stream с помощью DELPHI? - PullRequest
1 голос
/ 30 июля 2010

Мне нужно написать ФАЙЛ в STDIN.Этот файл будет доступен для другого EXE-файла, который собирается записать поток STDIN в микроконтроллер.

Не могли бы вы помочь мне записать файл в STDIN с помощью Delphi 2010?

Спасибоочень много!

Ответы [ 2 ]

3 голосов
/ 30 июля 2010

Я думаю, что вы имеете в виду STDOUT.

Является ли ответ Аллена Бауэра тем, что вы ищете?

2 голосов
/ 31 июля 2010

Похоже, вы пытаетесь записать в какой-то вывод, который другой EXE увидит как поток STDIN. В этом случае ответ Аллена Бауэра, упомянутый Сергом, близок, но вам его будет недостаточно.

На MSDN есть пример примера кода, который объясняет, как это сделать, но все написано на C и его трудно прочитать. Важная часть такова:

Вызов CreatePipe, который объявлен в Windows.pas. Первые два параметра - это var параметры для переменных THandle, которые CreatePipe заполнит дескриптором чтения и дескриптором записи канала. Затем вам нужно настроить запись TStartupInfo. Присвойте дескриптор чтения вашей трубе полю hStdInput в TStartupInfo.

Вы передаете TStartupInfo CreateProcess для запуска второго EXE-файла, а затем можете создать THandleStream, как в примере Аллена, передав ему дескриптор записи канала. Таким образом, все, что вы записываете в поток, передается в конец чтения для чтения другим EXE.

Надеюсь, это поможет ...

...