Работа с внешними приложениями!

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

у процесса нет хендла(оконного). можно искать по классу окна...


заблокировать...
hwndHandle := FindWindow('notepad', nil);
hMenuHandle := GetSystemMenu(hwndHandle, FALSE);
DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND);
разблокировать...
hwndHandle := FindWindow('notepad', nil);
hMenuHandle := GetSystemMenu(hwndHandle, true);


Мне надо чтоб блокировал кнопочку "закрыть" в приложении VNC Address Book, данный метод с ним не работает!


hwndHandle := FindWindow(<b>а вот здесь вы чего пишите?</b>, nil);


>>arty<<, приучайтесь формулировать свою задачу четче и полнее


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


а вы не думаете что приложение можно закрыть как минимум ALT+F4 и как максимум выгрузить из процессов?


FindWindow ищет по точному названию окна. вам лучше узнать класс нужного окна... и далее можно использовать этот код http://programmersforum.ru/showpost....4&postcount=19


а вы не думаете что приложение можно закрыть как минимум ALT+F4 и как максимум выгрузить из процессов?
А какая разница, я пишу не для того чтобы кто то не смог закрыть, а для того кто забывает и закрывает вместо того чтобы свернуть!