Maks150988
![](http://forum.ru-board.com/board/avatars/russia.gif)
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Ребят, помогите пожалуйста, уже который день не могу понять как правильно-то надо... Код: function SetConsoleTextToEdit(hWnd, hMemo : HWND; Programm, Commands : String) : Boolean; const ReadBuffer = 2400; var Security : TSecurityAttributes; ReadPipe : THandle; WritePipe : THandle; start : TStartUpInfo; ProcessInfo : TProcessInformation; Buffer : PChar; BytesRead : DWORD; Apprunning : DWORD; begin with Security do begin nlength := SizeOf(TSecurityAttributes); binherithandle := TRUE; lpsecuritydescriptor := nil; end; if Createpipe (ReadPipe, WritePipe, @Security, 0) then begin Buffer := AllocMem(ReadBuffer + 1); FillChar(Start, Sizeof(Start), #0); start.cb := SizeOf(start); start.hStdOutput := WritePipe; start.hStdInput := ReadPipe; start.dwFlags := STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW; start.wShowWindow := SW_HIDE; if CreateProcess(PChar(Programm), PChar(Commands), @Security, @Security, TRUE, NORMAL_PRIORITY_CLASS, nil, nil, start, ProcessInfo) then begin repeat Apprunning := WaitForSingleObject(ProcessInfo.hProcess, 100); ProcessMessages(hWnd); until (Apprunning <> WAIT_TIMEOUT); repeat BytesRead := 0; ReadFile(ReadPipe, Buffer[0], ReadBuffer, BytesRead, nil); Buffer[BytesRead] := #0; OemToAnsi(Buffer, Buffer); SendMessage(hMemo, WM_SETTEXT, 0, Integer(Buffer)); until (BytesRead < ReadBuffer); end; FreeMem(Buffer); CloseHandle(ProcessInfo.hProcess); CloseHandle(ProcessInfo.hThread); CloseHandle(ReadPipe); CloseHandle(WritePipe); end; Result := TRUE; end; | Мне нужно запустить bat файл и отображать результаты выполнения в своей программе. Как прилепить в этот код? На данный момент код такой из-за тестинга: Код: SetConsoleTextToEdit(hCnl, GetDlgItem(hCnl, IDC_EDT_CNSL), PChar('C:\WINDOWS\system32\cmd.exe'), PChar('help')); | Ранее былтакой, но почему то выводится только первая строчкаиз батника: Код: SetConsoleTextToEdit(hCnl, GetDlgItem(hCnl, IDC_EDT_CNSL), PChar('file.bat'), PChar('')); | Я не знаю как. ![](http://forum.ru-board.com/board/s/sad.gif) |