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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2009, 12:36   #1
Анастасия123456789
Пользователь
 
Аватар для Анастасия123456789
 
Регистрация: 20.11.2008
Сообщений: 41
Радость как определить закрытие приложения

вот у меня код такой.....
procedure TForm2.N6Click(Sender: TObject);
begin
ShellExecute(Self.Handle, 'open', 'TEST_OS.exe', nil, nil, SW_SHOWNORMAL);
form2.Hide
end;
вот как можно ли определить был али закончена работа с запущеным приложением....мне нужно когда закончена работа с запущеным приложением октрыть другую форму.......
подумайте сначало .... а потом отвечайте....
Анастасия123456789 вне форума Ответить с цитированием
Старый 02.05.2009, 13:11   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
function WinExecAndWait(Path: PChar; Visibility: Word): Word;
var
  InstanceID: THandle;
  Msg: TMsg;
begin
  InstanceID := WinExec(Path, Visibility);
  if InstanceID < 32 then 
    WinExecAndWait := InstanceID
  else
    repeat
       while PeekMessage(Msg, 0, 0, 0, pm_Remove) do
       begin
         if Msg.Message = wm_Quit then Halt(Msg.WParam);
         TranslateMessage(Msg);
         DispatchMessage(Msg);
       end;
    until GetModuleUsage(InstanceID) = 0;
  WinExecAndWait := 0;
end;
Path - путь с параметрами.
Visibility - режим видимости(SW_**** - константы, такие же как в ShellExecute)

применение(на вашем же примере):
Код:
procedure TForm2.N6Click(Sender: TObject);
begin
WinExecAndWait(PChar('TEST_OS.exe',SW_SHOWNORMAL);//правда вроде нужно полный путь указывать
form2.Hide
end;
единственное знакоки АПИ подскажите в каком модуле находится GetModuleUsage?

кстати еще можно воспользоватся списком всех задач(имя проги что вы запускаете вы то знаете, функцию можете найти посмотрев мои собщения)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.05.2009, 13:24   #3
Анастасия123456789
Пользователь
 
Аватар для Анастасия123456789
 
Регистрация: 20.11.2008
Сообщений: 41
По умолчанию

а можна на другом примере...... а то чет я не пойму ниче....... куды мне пихать открыть и показать форму........
подумайте сначало .... а потом отвечайте....
Анастасия123456789 вне форума Ответить с цитированием
Старый 02.05.2009, 16:32   #4
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

а разобраться не хочешь7 скажи спасибо что вообще ответили... вечно харчами перебираете... уважения никакого, да и совести...
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить путь чужого приложения? VVM Win Api 3 02.12.2008 18:22
Как определить класс стороннего приложения. Son Win Api 6 25.11.2008 11:52
Как определить координаты иконки приложения в system tray? SkAndrew Общие вопросы Delphi 5 18.08.2008 16:52
Закрытие приложения Лёка Общие вопросы Delphi 7 09.03.2008 15:50