114 сообщений
#17 лет назад
Здравствуйте! Может кто-нибудь знает как в Delphi запустить другое приложение, притом ограничить его стек, и время работы?
159 сообщений
#17 лет назад
radmus, ограничить стек можно, но Windows автоматически его увеличит в работе, если в этом есть необходимостьнасчет времени - ни как, если только другая прога будет ее KillProcess...
186 сообщений
#17 лет назад
radmus Способов вагон!Запустит можно если только не ошибаюсь в синтаксисе, не хочу в инфу есть:
Winexec
Shell и т.д. И ещё пачка WinAPI - функций
Ограничить время работы - мутите таймер в запускающей проге и килерите процесс по истечении времени, либо генерите событие Close.
На счёт стека так с лёту сказать не могу ... Но способы есть. Вообще для контроля за приложением есть отличная технология - HOOK.главное внимательно её использовать а то и комп подвесить недолго, сам вешал.
246 сообщений
#17 лет назад
Кажется есть функция создания процесса на определенное время. Не помню, как зовется. CreateProcess -- это кажется просто процесс.
114 сообщений
#17 лет назад
Цитата ("spymen"):radmus Способов вагон!
Запустит можно если только не ошибаюсь в синтаксисе, не хочу в инфу есть:
Winexec
Shell и т.д. И ещё пачка WinAPI - функций
Ограничить время работы - мутите таймер в запускающей проге и килерите процесс по истечении времени, либо генерите событие Close.
На счёт стека так с лёту сказать не могу ... Но способы есть. Вообще для контроля за приложением есть отличная технология - HOOK.главное внимательно её использовать а то и комп подвесить недолго, сам вешал.
А не подскажете где можно подробнее почитать про эту технологию? Запускать у меня получалось, только вот условия создания программы требуют ограничения, стека и времени . Я читал где-то что можно создавать потоки, и контролировать не само приложение, а поток, может кто работал с этим? В любом случае всем спасибо.
3 сообщения
114 сообщений
#16 лет назад
Маленькая поправочка! Время работы у меня ограничить получилось. Помог CreateProcess+WaitForSingleObject. Вопрос состоит в том как ограничит память выделяемую приложением. Народ советует смотреть в сторону JobObject, но на delphi у меня не получается с ними работать. Вобще где они объявлены в delphi? Поговаривают что нигде . Также говорят что нужно подключать библиотеку kernell32.dll, вроде пробовал мутить, но при запуске говорит что не найдена точка входа в процедуру.... и т. д. Может кто сможет написать пример?
120 сообщений
#16 лет назад
Также говорят что нужно подключать библиотеку kernell32.dll, вроде пробовал мутить, но при запуске говорит что не найдена точка входа в процедуру
честно честно пробовал? покажи как)
114 сообщений
#16 лет назад
Цитата ("Andreika"):Также говорят что нужно подключать библиотеку kernell32.dll, вроде пробовал мутить, но при запуске говорит что не найдена точка входа в процедуру
честно честно пробовал? покажи как)
Лучше ты покажи как надо на самом деле.
114 сообщений
#16 лет назад
Я объявлял процедуру приблизительно так:function CreateJobObject( lpJobAttributes: PSecurityAttributes; lpName: LPCTSTR):HWND;
external 'kernel32.dll' name 'CreateJobObject';
begin
end;
114 сообщений
#16 лет назад
Цитата ("Andreika"):заплати покажу) че за любовь к халяве то?Это не любовь к халяве! А надежда на человечность. Халявой это бы ло бы если бы я тебя попросил написать все прогу за меня! А я прошу ПОМОЧЬ куском кода.