ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 20.02.2007, 18:43
X-lord
Banned
Регистрация: 16.12.2006
Сообщений: 27
Провел на форуме:
110871

Репутация: -17
По умолчанию

чё неужели неясно чё хотит Ky3bMu4????
Код:
 function GetDosOutput(const CLine:string;Vr:string):string;
var
SA: TSecurityAttributes;
SI: TStartupInfo;
PI: TProcessInformation;
StdOutPipeRead, StdOutPipeWrite: THandle;
WasOK: Boolean;
Buffer: array[0..255] of Char;
BytesRead: Cardinal;
Line,Com:string;
begin
with SA do
begin
nLength := SizeOf(SA);
bInheritHandle := True;
lpSecurityDescriptor := nil;
end;
CreatePipe(StdOutPipeRead,StdOutPipeWrite,@SA,0);
Com:=Vr+CLine;
try
with SI do
begin
FillChar(SI, SizeOf(SI), 0);
cb := SizeOf(SI);
dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
wShowWindow := SW_HIDE;
hStdInput := GetStdHandle(STD_INPUT_HANDLE); // стандартный ввод не перенаправляем 
hStdOutput := StdOutPipeWrite; 
hStdError := StdOutPipeWrite; 
end;
WasOK := CreateProcess(nil, PChar(Com), nil, nil, True, 0, nil, nil, SI, PI);
CloseHandle(StdOutPipeWrite);
if not WasOK then
result:='Could not execute command line!'
else
try
Line := '';
repeat
WasOK := ReadFile(StdOutPipeRead, Buffer, 255, BytesRead, nil);
if BytesRead > 0 then
begin
Buffer[BytesRead] := #0;
Line := Line + Buffer;
end;
until not WasOK or (BytesRead = 0);
WaitForSingleObject(PI.hProcess, INFINITE);
finally
CloseHandle(PI.hThread);
CloseHandle(PI.hProcess);
end; 
finally 
result:=Line;
CloseHandle(StdOutPipeRead);
end;
end;

Последний раз редактировалось BlackLogic; 20.02.2007 в 20:58..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли потушить Outpost Firewall 3.0с Cmd donetsk АнтиАдмин 33 01.02.2009 21:01
cmd _-[A.M.D]HiM@S-_ Болталка 8 04.10.2006 13:05



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ