Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Закрытие окон приложений, вызванных Api-функциями 
:(
    Опции темы
santilaas
Дата 27.1.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



Привет всем! 
Вопрос такой: из своего приложения я функцией ShellExecute открываю стандартные калькулятор, блокнот и т.д. Как сделать, чтобы при закрытии моего приложения закрывались все окна (приложения), вызванные Api-функциями?


--------------------
[
PM MAIL   Вверх
W4FhLF
Дата 27.1.2007, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 6
Всего: 121



Открывай их лучше с помощью CreateProcess, он позволяет иметь хэндл созданного тобою процесса, после просто вызовешь TerminateProcess и всё.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Romikgy
Дата 27.1.2007, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



имхо проще окну послать мессагу close 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
santilaas
Дата 28.1.2007, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



Цитата

Открывай их лучше с помощью CreateProcess, он позволяет иметь хэндл созданного тобою процесса, после просто вызовешь TerminateProcess и всё.

W4FhLF, примером не поделишься? Заранее спасибо

Цитата

проще окну послать мессагу close  
   
- Romikgy, по-подробнее можно? 


--------------------
[
PM MAIL   Вверх
W4FhLF
Дата 28.1.2007, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 6
Всего: 121



Код

var
  si: TStartupInfo;
  pi: TProcessInformation;
begin
  CreateProcess(nil,pChar('E:\Temp\IoctlDecoder.exe'), nil, nil, FALSE, 0, nil, nil, si, pi);
  TerminateProcess(pi.hProcess, 0);



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
santilaas
Дата 10.2.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



W4FhLF, спасибо за код - пишу этот код при нажатии на кнопку - вот только, если честно у меня никакой реакции не происходит - может надо еще чего-нить прописать?!
И еще вопрос - получается надо всегда указывать абсолютный путь к приложению - даже к стандартному блоноту или калькулятору?


--------------------
[
PM MAIL   Вверх
MetalFan
Дата 10.2.2007, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



Цитата(santilaas @  10.2.2007,  18:43 Найти цитируемый пост)
у меня никакой реакции не происходит

а подумать над примером?
вызывается CreateProcess - что происходит? запуск процесса...
затем сразу же вызывается что? TerminateProcess... только не говори, что англицкий не знаешь ;)


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
santilaas
Дата 11.2.2007, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 322
Регистрация: 28.8.2005
Где: Блага

Репутация: нет
Всего: нет



Цитата

а подумать над примером?

- нет, ну я не настолько коловой - понятно дело - комментировал я эту строку - без нее (TerminateProcess) делал - но не хочет работать и все.


--------------------
[
PM MAIL   Вверх
MetalFan
Дата 11.2.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 16
Всего: 128



что CreateProcess возвращает? что GetLastError "говорит"?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
aktuba
Дата 13.2.2007, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 2
Всего: 38



santilaas, ты код покажи! Как можно угадать, почему у тебя не работает, если не видно что и где не работает?


--------------------
user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0905 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.