Дискриптор окна "HWND"
Dr. Kren; 7.2.02
Привет всем!
Для обращения к системным WinAPI в ряде случаев необходимо
передавать дискриптор окна, вызвавшего эта самую API.
HWND hWnd, // handle of owner window
Graphic Designer Runtime явно создает окно выполнения проекта, в
котором и крутит *.PDL
Вопрос - подскажите, каким образом получить дискриптор этого окна в
режиме RT.
Сразу скажу, что передача вместо дискриптора значения NULL приводит
к неестественному поведению вызванной функции. Слета системы или
проекта не происходит, но функция WinAPI отрабатывается несколько
не так, как описывается в документации.
Проверялось в Delphi и CBuilder - при передаче дискриптора все
работает как должно.
Re: Дискриптор окна
Alexis; 7.2.02
А так
HWND hWnd=FindWindow(NULL,"WinCC-Runtime - ");
Дескриптор окна
Евгений Трунов;
7.2.02
Что касается основного окна PDLRT, то действительно через
FindWindow. Оно принадлежит классу
<B>"PDLRTisAliveAndWaitsForYou"</B> и имеет заголовок
<B>"WinCC-Runtime - "</B>.
Кстати, попытка изменить этот заголовок через SetWindowText
работает как-то странно - меняет, но через какое-то время
самопроизвольно возвращает старое названние <B>"WinCC-Runtime
- "</B>.
А вот с произвольными графическими объектами в системе дело обстоит
хуже. Они почти все принадлежат "классическим классам" MFC
AfxFrameOrView42 и AfxWnd42. Если не делать всем различные
заголовки, то получить HWND определенного picture window
затруднительно.
Re: Дискриптор окна
Dr. Kren; 7.2.02
Всем привет!
To [Alexis; 7.2.02]
To [Евгений Трунов; 7.2.02]
Большое спасибо!
Как по маслу. И да же лучше!
С уважением ко всем...