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"):заплати покажу) че за любовь к халяве то?Это не любовь к халяве! А надежда на человечность. Халявой это бы ло бы если бы я тебя попросил написать все прогу за меня! А я прошу ПОМОЧЬ куском кода.