|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.02.2007, 11:49 | #1 |
Пользователь
Регистрация: 02.02.2007
Сообщений: 32
|
Запущена программа или нет
Как определить запущена программа или нет из другого приложения, а именно у меня есть сервис и он должен следить за определённым событием если событие происходит и программа не запущена, то необходимо запустить её.
|
03.02.2007, 18:33 | #2 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
procedure findform;
var h:hWnd; begin h:=FindWindows(nil,'Название'); //здесь название твоего окна (заголовок!) if h=0 then ... //если не найдено (т.е. не запущено), то делаем то, что нужно end; |
04.02.2007, 20:59 | #3 |
Пользователь
Регистрация: 02.02.2007
Сообщений: 32
|
В принципе заголовок окна у меня меняется, но его всего два варианта и немного изменить код для меня труда не составило, но вот появилась ещё одна проблемма, я из того же сервиса пытаюсь запустить программу, она запускается, но окна не видно. Как исправить. Пользуюсь инструкцией
shellExecute(0,Nil,pChar(extractfil epath(paramstr(0))+'MyExe.exe'),Nil ,Nil,SW_NORMAL); |
04.02.2007, 21:11 | #4 |
Пользователь
Регистрация: 02.02.2007
Сообщений: 32
|
Может быть это из-за того, что в программе применяется RxTrayIcon?
|
04.02.2007, 21:18 | #5 |
Пользователь
Регистрация: 08.01.2007
Сообщений: 41
|
чё ты там намутил?
shellExecute(0,Nil,pChar(extractfil epath(paramstr(1)),Nil,Nil,SW_SHOWN ORMAL); paramstr(0) - первый параметр -- имя приложения; 1..N -- твои параметры. если ты конечно ЭТО приследовал. Если не получается, не поленись, напиши ShowMessage(а вот сюда свою лабуду) и посмотри что ты передал в пути, а ещё ShellExecute возвращать что-то умеет, и возвращалка должна быть не меньше 32. еще, у application есть метод ExeName: String. потыкай, разберёшься. Учи Изыг! |
05.02.2007, 18:15 | #6 |
Пользователь
Регистрация: 02.02.2007
Сообщений: 32
|
Ну не знаю функция extractfilepath(paramstr( 0)) возвращает путь до католога где расположена программа, не веришь проверь.
|
05.02.2007, 18:21 | #7 |
Пользователь
Регистрация: 02.02.2007
Сообщений: 32
|
Все равно сервис запускает программу но она не видна на панели задач.
Вроде есть функция дублирующяя shellExecute, но имеет меньше возможностей. Так вот может объясните как пользоватся (желательно пример)? |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запущена ли програма? | RealSHELS | Общие вопросы Delphi | 4 | 14.06.2008 21:54 |
программа на С++ | Raptor | Помощь студентам | 2 | 28.04.2008 09:27 |
программа (не код!) | simple | Помощь студентам | 8 | 14.01.2008 23:36 |
Как проверять, запущена ли определенная программа? | Bill Gates | Общие вопросы Delphi | 1 | 04.01.2008 17:29 |