Александр К.
114 сообщений
#17 лет назад
Здравствуйте! Может кто-нибудь знает как в Delphi запустить другое приложение, притом ограничить его стек, и время работы?
Александр К.
159 сообщений
#17 лет назад
radmus, ограничить стек можно, но Windows автоматически его увеличит в работе, если в этом есть необходимость
насчет времени - ни как, если только другая прога будет ее KillProcess...
Алексей Б.
186 сообщений
#17 лет назад
radmus Способов вагон!
Запустит можно если только не ошибаюсь в синтаксисе, не хочу в инфу есть:
Winexec
Shell и т.д. И ещё пачка WinAPI - функций
Ограничить время работы - мутите таймер в запускающей проге и килерите процесс по истечении времени, либо генерите событие Close.
На счёт стека так с лёту сказать не могу ... Но способы есть. Вообще для контроля за приложением есть отличная технология - HOOK.главное внимательно её использовать а то и комп подвесить недолго, сам вешал.
 Rei
246 сообщений
#17 лет назад
Кажется есть функция создания процесса на определенное время. Не помню, как зовется. CreateProcess -- это кажется просто процесс.
Александр К.
114 сообщений
#17 лет назад
Цитата ("spymen"):
radmus Способов вагон!
Запустит можно если только не ошибаюсь в синтаксисе, не хочу в инфу есть:
Winexec
Shell и т.д. И ещё пачка WinAPI - функций
Ограничить время работы - мутите таймер в запускающей проге и килерите процесс по истечении времени, либо генерите событие Close.
На счёт стека так с лёту сказать не могу ... Но способы есть. Вообще для контроля за приложением есть отличная технология - HOOK.главное внимательно её использовать а то и комп подвесить недолго, сам вешал.



А не подскажете где можно подробнее почитать про эту технологию? Запускать у меня получалось, только вот условия создания программы требуют ограничения, стека и времени . Я читал где-то что можно создавать потоки, и контролировать не само приложение, а поток, может кто работал с этим? В любом случае всем спасибо.
Soft Skm
1 сообщение
#17 лет назад
Пайпы, в Delphi World читай.
Е.а. Б.
3 сообщения
#16 лет назад
Waitforsingleobject
в помошь

а стек - он системный... или сам контролируй или никак
Александр К.
114 сообщений
#16 лет назад
Маленькая поправочка! Время работы у меня ограничить получилось. Помог CreateProcess+WaitForSingleObject. Вопрос состоит в том как ограничит память выделяемую приложением. Народ советует смотреть в сторону JobObject, но на delphi у меня не получается с ними работать. Вобще где они объявлены в delphi? Поговаривают что нигде . Также говорят что нужно подключать библиотеку kernell32.dll, вроде пробовал мутить, но при запуске говорит что не найдена точка входа в процедуру.... и т. д. Может кто сможет написать пример?
 A.
120 сообщений
#16 лет назад
Также говорят что нужно подключать библиотеку kernell32.dll, вроде пробовал мутить, но при запуске говорит что не найдена точка входа в процедуру

честно честно пробовал? покажи как)
Александр К.
114 сообщений
#16 лет назад
Цитата ("Andreika"):
Также говорят что нужно подключать библиотеку kernell32.dll, вроде пробовал мутить, но при запуске говорит что не найдена точка входа в процедуру

честно честно пробовал? покажи как)


Лучше ты покажи как надо на самом деле.
 A.
120 сообщений
#16 лет назад
Заплати покажу) че за любовь к халяве то?
Александр К.
114 сообщений
#16 лет назад
Я объявлял процедуру приблизительно так:
function CreateJobObject( lpJobAttributes: PSecurityAttributes; lpName: LPCTSTR):HWND;
external 'kernel32.dll' name 'CreateJobObject';
begin
end;
Александр К.
114 сообщений
#16 лет назад
Цитата ("Andreika"):
заплати покажу) че за любовь к халяве то?
Это не любовь к халяве! А надежда на человечность. Халявой это бы ло бы если бы я тебя попросил написать все прогу за меня! А я прошу ПОМОЧЬ куском кода.
Александр К.
114 сообщений
#16 лет назад
А сколько хочешь если не секрет?
 A.
120 сообщений
#16 лет назад
Begin
end;
точно надо?

обычно функции со строками бывают ANSI (PChar) или UNICODE(PWideChar)
соотвестно у них названия name 'CreateJobObjectA'; или 'CreateJobObjectW'
попробуй так