Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];

Вниз

RESULT от WINEXEC   Найти похожие ветки 

 
Parus ©   (2006-12-23 11:17) [0]

я из проги делаю это: WINEXEC("NET VIEW",SW_HIDE);
А как узнать что там было выведенно.


 
Gero ©   (2006-12-23 11:39) [1]

> [0] Parus ©   (23.12.06 11:17)
> я из проги делаю это

Не делай это. Эта функция давно устарела.


 
_RusLAN ©   (2006-12-23 11:51) [2]

ИМХО самий простой вариант єто перенапрвить вывод в файл.
и потом его читать.
Перенаправить вывод в файл: net view>result.txt

Есть другой - использовать "каналы" (Pipes), про него в инете много написано.


 
DrPass ©   (2006-12-23 12:02) [3]


> я из проги делаю это: WINEXEC("NET VIEW",SW_HIDE);

Сделай CreateProcess вместо WinExec + пайп на поток вывода


 
BiN ©   (2006-12-23 12:26) [4]

Самостоятельная реализация функциональности NET VIEW не сложнее любого выше перечисленного метода.


 
Parus ©   (2006-12-23 13:50) [5]


> BiN

NET VIEW как ПРИмЕР


 
BiN ©   (2006-12-23 16:28) [6]


> Parus ©   (23.12.06 13:50) [5]
>
> NET VIEW как ПРИмЕР


NET VIEW - эта команда выводит список доступных для совместного использования
ресурсов данного компьютера. Kогда используется без параметров, отображает
список компьютеров текущего домена или сети. (c)


NetServerEnum
The NetServerEnum function lists all servers of the specified type that are visible in a domain. For example, an application can call NetServerEnum to list all domain controllers only or all SQL servers only.

You can combine bit masks to list several types. For example, a value of 0x00000003 combines the bit masks for SV_TYPE_WORKSTATION (0x00000001) and SV_TYPE_SERVER (0x00000002)
(c) msdn


 
Parus ©   (2006-12-23 17:34) [7]


> Перенаправить вывод в файл: net view>result.txt

Пасиб
ЗЫ ответ от человека с таким же именем :)


 
ors_archangel ©   (2006-12-23 17:39) [8]

Пример с пайпом:

function ExecConsoleApp(commandLine: string): cardinal;
var
 sa: TSECURITYATTRIBUTES;
 si: TSTARTUPINFO;
 pi: TPROCESSINFORMATION;
 hPipeOutputRead: THANDLE;
 hPipeOutputWrite: THANDLE;
 hPipeErrorsRead: THANDLE;
 hPipeErrorsWrite: THANDLE;
 res, bTest: Boolean;
 env: array[0..100] of Char;
 szBuffer: array[0..256] of Char;
 dwNumberOfBytesRead: DWORD;
 //Stream: TMemoryStream;
begin
 sa.nLength := sizeof(sa);
 sa.bInheritHandle := true;
 sa.lpSecurityDescriptor := nil;
 CreatePipe(hPipeOutputRead, hPipeOutputWrite, @sa, 0);
 CreatePipe(hPipeErrorsRead, hPipeErrorsWrite, @sa, 0);
 ZeroMemory(@env, SizeOf(env));
 ZeroMemory(@si, SizeOf(si));
 ZeroMemory(@pi, SizeOf(pi));
 si.cb := SizeOf(si);
 si.dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
 si.wShowWindow := SW_HIDE;
 si.hStdInput := 0;
 si.hStdOutput := hPipeOutputWrite;
 si.hStdError := hPipeErrorsWrite;

 (* Remember that if you want to execute an app with no parameters you nil the
    second parameter and use the first, you can also leave it as is with no
    problems.                                                                 *)

 try
   res := CreateProcess(nil, pchar(CommandLine), nil, nil, true,
     CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, @env, nil, si, pi);
 except
   res := false;
 end;

 // Procedure will exit if CreateProcess fail
 if not res then
 begin
   CloseHandle(hPipeOutputRead);
   CloseHandle(hPipeOutputWrite);
   CloseHandle(hPipeErrorsRead);
   CloseHandle(hPipeErrorsWrite);
   exit;
 end;
 CloseHandle(hPipeOutputWrite);
 CloseHandle(hPipeErrorsWrite);

 repeat
     bTest := ReadFile(hPipeOutputRead, szBuffer, 1, dwNumberOfBytesRead,
       nil);
     if dwNumberOfBytesRead <> 0 then Output(szBuffer[0]);
 until bTest = false;//WaitForSingleObject(pi.hProcess, 111) <> WAIT_TIMEOUT;
 WaitForSingleObject(pi.hProcess, INFINITE);
 GetExitCodeProcess(pi.hProcess, result);
 //result := 0;
 CloseHandle(pi.hProcess);
 CloseHandle(hPipeOutputRead);
 CloseHandle(hPipeErrorsRead);
end;



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.012 c
2-1166605815
>>DEATH<<
2006-12-20 12:10
2007.01.14
запись в массив


15-1166510583
Fredy314
2006-12-19 09:43
2007.01.14
Интернет через ТВ кабель, как сделать.


2-1167052236
Trible
2006-12-25 16:10
2007.01.14
отослать сообщение процесу, созданного с CreateProcess


15-1166688449
Slider007
2006-12-21 11:07
2007.01.14
С днем рождения ! 21 декабря


2-1166636812
nickhilo
2006-12-20 20:46
2007.01.14
com-хранилища:подпольная файловая система.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский