Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Delphi

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Delphi
Имя
Сообщение << Старые топики   Новые топики >>
Delphi - 2005-08-29 15:42:36   
M0zart

Сообщений: 12
Оценки: 0
Присоединился: 2005-07-20 13:16:46
Такой вопрос возник.
Как сделать так, чтобы я мог вызывать из своей программы другие проги через командную строку, при этом чтобы они запускались в скрытом режиме. И надо чтобы не было видно не только главное окно программы, но и все её сообщения.
Я пробовал так:
with StartInfo do begin
cb:=SizeOf(StartInfo);
dwFlags:=STARTF_USESHOWwindоw;
wShowwindоw:=SW_HIDE;
end;
CreateProcess(nil,PChar(String(CmdLine)),nil,nil,false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,nil,
PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo);
ничего не получилось.
[sm=9.gif]
Может можно как то по другому сделать или сдесь что-то недописано???
Post #: 1
Delphi - 2005-08-31 16:20:03   
lolik

Сообщений: 152
Оценки: 0
Присоединился: 2005-03-19 19:25:42
а WinExec("Proga.exe", SW_HIDE); незя сделать?
или я че-то не понял..
Post #: 2
Delphi - 2005-09-01 19:35:05   
M0zart

Сообщений: 12
Оценки: 0
Присоединился: 2005-07-20 13:16:46
я и так делал… Все равно при запуске "Proga.exe" выскакивают некоторые окна, создаваемые этой "Proga.exe".
Post #: 3
Delphi - 2005-09-01 21:09:05   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
а stdin, stdout, stderr этих запускаемых программ перенаправить в /dev/null (или как там это в винде называется?) не пробовал? Вместо CREATE_NEW_CONSOLE.
Post #: 4
Delphi - 2005-09-01 21:33:14   
jEnizix

Сообщений: 1797
Оценки: 0
Присоединился: 2004-12-30 11:03:50
http://msdn.com друг кодера под винду! Ищи там флаги для фии CreateProcess();
Точнее ищи описание структуры STARTUPINFO, если ее праввильно заполниш, все буит ок!

2рго: а хз где там в винде этот /dev/null [sm=sm128.gif][sm=001.gif]
Post #: 5
Delphi - 2005-09-02 00:17:39   
lolik

Сообщений: 152
Оценки: 0
Присоединился: 2005-03-19 19:25:42
В винде нету аналога/dev/null вроде, так что тут придеца подумать… а вообще хз как это сделать можно..
А прога.ехе это твое творение? или нет? ну если там окна в ресурсах, попробуй редактором ресурсов поменять у них свойство visible(вроде так)..
Post #: 6
Delphi - 2005-09-13 15:40:32   
us_V_er

Сообщений: 14
Оценки: 0
Присоединился: 2005-09-10 19:02:12
этоже просто я делал это сто раз через
shellapi
Post #: 7
Delphi - 2005-09-13 21:01:42   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
quote:

—————-<BR>Цитата: Дата:02.09.2005 0:17:39, Автор:lolik ::
В винде нету аналога/dev/null вроде, так что тут придеца подумать… а вообще хз как это сделать можно..<BR><BR>А прога.ехе это твое творение? или нет? ну если там окна в ресурсах, попробуй редактором ресурсов поменять у них свойство visible(вроде так)..
—————-


так сам сделай. тупой процесс, который читает всё что приходат на указанный набора дескрипторов и сходу член кладёт на прочитанное. А вообще, очень меня сомневает что нету – в досе был драйвер (NULL если память не изменяет), в *nix есть /dev/null, почему бы и в винде не быть, чему-нибудь похожему?
Post #: 8
Delphi - 2005-09-14 11:30:22   
bens

Сообщений: 3
Оценки: 0
Присоединился: 2005-08-22 16:03:57
>>этоже просто я делал это сто раз через
>>shellapi

uses ShellAPI

ShellExecute(handle,'open',PChar(имя_файла),PChar(директория_файла),PChar(строка_параметров),параметры_запуска)

параметры не помню, могу ошибиться - смотри сам…

если у программы нет окна, вместо "handle" - "0"
директория_файла - рабочая папка типа, можно вместо "PChar(директория_файла)" поставить "nil", тогда будет папка, где находится файл.
если параметры не нужны, вместо "PChar(строка_параметров)" тоже "nil"
параметры_запуска задавай SW_HIDE (вроде SW…)
если ещё какие-то параметры есть - "nil"

А ваще по таким вопросам советую:
Архангельский, "Приёмы программирования в Delphi"
Post #: 9
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Delphi







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.