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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2009, 22:04   #1
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
Вопрос Работа с внешними приложениями!

Имеется код который мне любезно показали на другом форуме:
var
hwndHandle : THANDLE;
hMenuHandle : HMENU;
begin
hwndHandle := FindWindow(nil, 'Новый текстовый документ - Блокнот');{<<<<<<<<<<<<здесь заголовок нужного вам окна}
hMenuHandle := GetSystemMenu(hwndHandle, FALSE);
DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);

как вы поняли эта процедура блокирует кнопку закрыть у нужного нам окна, подскажите как мне описать эту же процедуру только наоборот - разблокировать кнопку "закрыть" и плюс чтоб hwndHandle осуществлялся поиск не по названию окна а по названию процесса - так надёжнее....
>>arty<< вне форума Ответить с цитированием
Старый 09.11.2009, 22:07   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у процесса нет хендла(оконного).
можно искать по классу окна...
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.11.2009, 22:16   #3
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

заблокировать...
Код:
hwndHandle := FindWindow('notepad', nil);
hMenuHandle := GetSystemMenu(hwndHandle, FALSE);
DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
разблокировать...
Код:
hwndHandle := FindWindow('notepad', nil);
hMenuHandle := GetSystemMenu(hwndHandle, true);
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 10.11.2009, 16:11   #4
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
По умолчанию

Мне надо чтоб блокировал кнопочку "закрыть" в приложении VNC Address Book, данный метод с ним не работает!
>>arty<< вне форума Ответить с цитированием
Старый 10.11.2009, 16:15   #5
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Код:
hwndHandle := FindWindow(а вот здесь вы чего пишите?, nil);
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 10.11.2009, 16:27   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

>>arty<<, приучайтесь формулировать свою задачу четче и полнее
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 10.11.2009, 16:47   #7
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
По умолчанию

вот имя окна: VNC Address Book - 1.4.1.79, мне бы конечно желательно чтоб он мониторил и блокировал кнопки закрыть у приложений имеющих в названии окна VNC Address Book, то есть не по полному названию а по части, так думаю во многих случаях мне пригодится, и хотелось бы узнать как его (блокиратор) запрятать в трей...

Последний раз редактировалось >>arty<<; 10.11.2009 в 16:50.
>>arty<< вне форума Ответить с цитированием
Старый 10.11.2009, 16:54   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

а вы не думаете что приложение можно закрыть как минимум ALT+F4 и как максимум выгрузить из процессов?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 10.11.2009, 17:16   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

FindWindow ищет по точному названию окна.
вам лучше узнать класс нужного окна...
и далее можно использовать этот код
http://programmersforum.ru/showpost....4&postcount=19
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.11.2009, 17:57   #10
>>arty<<
Пользователь
 
Регистрация: 26.06.2009
Сообщений: 78
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
а вы не думаете что приложение можно закрыть как минимум ALT+F4 и как максимум выгрузить из процессов?
А какая разница, я пишу не для того чтобы кто то не смог закрыть, а для того кто забывает и закрывает вместо того чтобы свернуть!
>>arty<< вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление внешними устройствами средствами Delphi RockForr Общие вопросы Delphi 7 03.05.2009 22:04
Работа с временными и внешними файлами в TP Евгений1313 Помощь студентам 0 11.04.2009 18:49
Работа с внешними устройствами через COM порт Georgios Помощь студентам 11 11.02.2009 15:59
Может ли Excel, управлять внешними устройствами valerij Microsoft Office Excel 5 28.01.2009 06:42
Работа с внешними данными Askar_g Общие вопросы Delphi 1 26.12.2008 10:36