|
#1
|
|||
|
|||
перечисление окон
драсте подсажите как можно перечислить окна
через EnumWindows(EnumFunc: TFarProc, lParam: Longint): Bool; но нужно чтоб функция EnumFunc: каждый раз вызывалачь вручную |
#2
|
||||
|
||||
по какому событию? и что предполагается передавать как аргументы функции?
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#3
|
|||
|
|||
Цитата:
|
#4
|
|||
|
|||
Цитата:
с каждым входом в таймер он должен находить новое окно |
#5
|
||||
|
||||
можно действовать по следующему алгоритму:
1 запустили перечисление окон (EnumWindows), составили список окон 2 в таймере запускаем опять перечисление окон и сверяемся со списком, если в списке нет окна, значит оно "новое" 3 добавляем "новое" окно в список З.Ы. стоит посмотреть в сторону хука на создание окна Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#6
|
|||
|
|||
Цитата:
мне хочеться шоб он в таймере долго не сидел пусть лучше растянеться это действие Цитата:
если он после не большой задержки выполнит это даже лучше |
#7
|
||||
|
||||
чтобы понять, что появилось что-то новое нужно либо периодически сверяться с ранее составленным списком (предложеный алгоритм) либо следить за жизнью окон (хук)
EnumWindows не "растянуть" Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |
#8
|
|||
|
|||
конкретно мне надо узнать развернули окно какого нибудь браузера на весь
экран если разернули то выполнить определенын действия в програме будет храниться список класов браузера |
#9
|
|||
|
|||
во нашел
я это сделаю через GetNextWindow тут каждый вызов таймера найдет только одно окно |