Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > Следить за процессом |
Автор: SoWa 23.12.2004, 09:17 |
Есть ли такая функция, которая на входе имеет имя процеса(типа STRING), а на выходе boolean? Т.е. если такой процесс запущен, то возвращать true, а если не запущен, то возвращать false. Если стандартной функции нет, то подкиньте исходник плиз ![]() |
Автор: Rennigth 23.12.2004, 10:40 | ||
Чтонибудь вреде этого...
Добавлено @ 10:42 единственное я замечал разницу между Win9x и WinNT ProcStruct.szExeFile в какомто случае полный путь файлу(с раширением) а в другом только имя процесса (безпути и расширения файла) |
Автор: Palladin 24.2.2006, 16:49 |
Допустим мне надо чтоб мояпрограмма следила за состоянием проги под названием winamp.exe и если винамп не ключён то прога должна включить, то мне надо написать так lProcessPath := Winamp.exe; ????? |
Автор: Guedda 24.2.2006, 17:44 | ||
Используй эту функцию с параметром:
|
Автор: Palladin 24.2.2006, 21:27 | ||
Короче я в сети админ сервера WoW хочу сделать прогу которая будет следить за тем работает сервак или нет, и если не работает то запускает его, вот мой код но здесь что-то не так, екзешник емуля wowemu.exe он такой же и в диспетчере задач, что здесь не так?
помогите плиззз |
Автор: Guedda 24.2.2006, 21:37 | ||
Все не так... Зачем ты засунул объявление функции в процедуру, да еще и заранее... Вот тебе вариант:
|
Автор: Palladin 24.2.2006, 21:43 |
Сенкс всё пашет, ща другой вопрос как дописать ф-ию чтобы она автоматом запускала его если полетел????? |
Автор: Guedda 24.2.2006, 21:48 | ||
Только в WinExec напиши полный путь к программе... |
Автор: Palladin 24.2.2006, 21:54 |
Возьми меня в ученики о великий Guedda ![]() всё пашет сенкс, вот только проблема, а нельзя ли както сделать так чтоб прога сама искала этот файл???? Добавлено @ 22:02 Хотя ладно забей на поиск, пропишу как есть, подскажи лучше что сделать чтоб прога начинала проверку каждые 5 минут |
Автор: Guedda 24.2.2006, 22:09 | ||||||
Можно... Но это муторно. Так что лучше сделай так: Создай константу, скомпиль прогу и все. Вот те код (примерный, конечно):
Но, конечно, вот тебе процедура для поиска файлов. Можешь искать любые файлы:
Вот полный код:
Можешь задавать вопросы на [email protected] |
Автор: Palladin 24.2.2006, 22:15 |
[Error] Unit1.pas(76): Undeclared identifier: 'MatchesMask' вот такая вот ошибка понятно нету идендификатора в варе но какого формата нада string????? |
Автор: Guedda 24.2.2006, 22:22 | ||
MatchesMask - это функция... Просто в разделе uses подключи Masks. У тебя должно получиться что-то типа:
|
Автор: Palladin 24.2.2006, 22:27 |
Сенкс, Guedda ты в аське не сидиш там бы проще было общатся, а то на форуме ответа долго ждать, а по почте муторно Добавлено @ 22:32 щас пишет ошибку [Error] Unit1.pas(105): Incompatible types: 'String' and 'PAnsiChar' несоответствие тмпов чтоли? |
Автор: SPrograMMer 24.2.2006, 23:08 |
угу Proc(PAnsiString(YourString)) |
Автор: Slaad 24.2.2006, 23:08 |
PAnsiChar это строка с завершающим нулевым символом которая служит в основном для интерфейса с функциями WIn API. Так что нужно использовать либо SomeFuncWinAPi(...,'somestring',...) либо SomeFuncWinAPi(...,PChar(st),...) где st - переменная типа String. |
Автор: Guedda 25.2.2006, 15:31 | ||||||||||||
Короче... Шаг за шагом объясняю ![]() Создаешь проект. Открываешь код страницы. Пишешь после:
Сразу после этих строк прописываешь следующее:
Спускаешься ниже, и после строки {$R *.dfm} пишешь следующее:
После этого кидаешь на форму TTimer и в свойствах прописываешь: Interval = 30000 Enabled = false; После этого кликаешь два раза на таймере. Между begin и end напиши следующее:
После этого кидаешь на форму Button1, и в его коде пропиши:
Кидаешь вторую кнопку, остановки сканирования:
Все. Повтори все шаги без пропусков. И у тебя все получится... Только вчитывайся внимательно... Если будут ошибки, пиши... |