Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2007, 11:49   #1
Маркъ
Пользователь
 
Регистрация: 02.02.2007
Сообщений: 32
По умолчанию Запущена программа или нет

Как определить запущена программа или нет из другого приложения, а именно у меня есть сервис и он должен следить за определённым событием если событие происходит и программа не запущена, то необходимо запустить её.
Маркъ вне форума Ответить с цитированием
Старый 03.02.2007, 18:33   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

procedure findform;
var h:hWnd;
begin
h:=FindWindows(nil,'Название'); //здесь название твоего окна (заголовок!)
if h=0 then ... //если не найдено (т.е. не запущено), то делаем то, что нужно
end;
zetrix вне форума Ответить с цитированием
Старый 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
psyke
Пользователь
 
Аватар для psyke
 
Регистрация: 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. потыкай, разберёшься.

Учи Изыг!
psyke вне форума Ответить с цитированием
Старый 05.02.2007, 18:15   #6
Маркъ
Пользователь
 
Регистрация: 02.02.2007
Сообщений: 32
По умолчанию

Ну не знаю функция extractfilepath(paramstr( 0)) возвращает путь до католога где расположена программа, не веришь проверь.
Маркъ вне форума Ответить с цитированием
Старый 05.02.2007, 18:21   #7
Маркъ
Пользователь
 
Регистрация: 02.02.2007
Сообщений: 32
По умолчанию

Все равно сервис запускает программу но она не видна на панели задач.
Вроде есть функция дублирующяя shellExecute, но имеет меньше возможностей. Так вот может объясните как пользоватся (желательно пример)?
Маркъ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запущена ли програма? 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