Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Перечисление ВСЕХ окон Добавлено: 24.07.07 01:20  

Автор вопроса:  Neco | Web-сайт: neco.pisem.net | ICQ: 247906854 
Вкратце задача: есть SAP, надо из него извлекать отчёты. Автоматически. Своего у Сапа вроде ничего нет (если есть - хээээлп). Пробовали AutoIT (эмулятор нажатия клавиш) - нестабильно и ненадёжно.
Начал писать своё (хотел через SetText и SendMessage эмулировать события - чтобы не зависеть от текущего фокуса) - пришла беда откуда не ждал. Не все окна перечисляются.
Написал стандартную (в моём понимании) штуку:
1. GetDesktopWindow
2.
FuncEnumAllWindow(hwnd){
    hwnd=getwindow(hwnd,gw_first);
    while (hwnd>0){
        FuncEnumAllWindow(hwnd);
        hwnd=getwindow(hwnd,gw_next);
    }
}

Остаются неперебранными внутренности саповских окон (текстбоксы и прочее, что находится на самой форме) - проверялся Spy++ - он выдаёт тоже что и моё.

Сап - штука явовская. Возможно ли такое, что там объекты рисуются без создания окон? Если да, то что можете посоветовать для моего случая?

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #1 Добавлено: 24.07.07 01:36
Все можно нарисовать без окон, ИМХО у тебя не тот случай.
1. Найди название класса окна SAP (через SPY++)
2. Через FindWindow получи hWnd этого окна.
3. Перебор дочерних окон либо FindWindowEx либо EnumChildWindows

Если использовать GetDesktopWindow & GetWindow, то после нахождения "формы", нужен еще один перебор, но уже с добавлением флага GW_CHILD

Ответить

Номер ответа: 2
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #2 Добавлено: 24.07.07 11:06
спай кажись ищет все окна. если не светит он, не поможет никто. можешь попробовать посмотреть через отладчик(OllyDbg) что джавная прога делает

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам