Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить заголовок окна другого приложения? [D5, Win95/98]


Pogi ©   (2003-03-24 21:22:00) 

Привет всем!
Существует проблема:
если я создаю стандартное приложение с формой ,по кнопке запускаю дочерний процесс и использую функцию
GetWindowText(hwnd гл.окна дочернего процесса,str,50) или SendMessage(hwnd гл.окна дочернего процесса,WM_GETTEXT,WPARAM(50),LPARAM(str)), где str:PChar,
то все проходит нормально и я получаю название окна, указанного дескриптором hwnd.
Но если приложение не стандартное

program WinarmRus;
{$R WinarmRus.res}

uses sysutils,windows,messages;

var si:STARTUPINFO;
p:PROCESS_INFORMATION;
secur:SECURITY_ATTRIBUTES;
str:PChar;
i:integer;

begin
...
if CreateProcess(nil,"winarm.exe",@secur,@secur,true,0,nil,nil,si,p) then
begin try
WaitForInputIdle(p.hProcess,INFINITE);
hMain:=FindWindow("...","..."); Окно находит без проблем
i:=GetWindowText(hMain,str,150);
...,

то в str записывается пустая строка и i=0 символов, хотя
функция GetWindowTextLength возвращает количество символов в заголовке окна.
Подскажите по возможности, что делать??? Заранее спасибо.


Diamond Cat   (2003-03-25 02:22:00) [1]

sendmessage(hwnd,wm_gettext......


Наверх

Титульная страница Поиск, карта сайта Написать письмо