Задача такая: Получить HWND flash игры. (vkontakte.appXXXXXXXX). Игра подгружается в программу через twebbrowser. Раньше находил её HWND через координаты на экране. Теперь программа работает с флешкой в плностью фоновом режиме старый способ никуда не годится. Мне посоветовали через FindWindowEx сделать, но ничего не выходит... Добавил и старый способ и новый. По "старому" методу всё работает на ура, новый не находит. Посоветуйте пожалуйста, как быть? Code: Function GetHinstanse(WD:HWND): LongInt; Begin Result:=GetWindowLong(Wd, GWL_HWNDPARENT); End; procedure TForm1.GetHWNDClick(Sender: TObject); var PT:TPOINT; PARENT,BrowserH,HWndFromFindWindowEx:hwnd; Nm:Array[0..255] of Char; // буфер для имени Cs: Array[0..255] of Char; // буфер для класса begin KEI_LIST.lines.Add(#13);//разделитель PT.x:=400; PT.Y:=400; Pt := ClientToScreen(Pt); BrowserH:=windows.WindowFromPoint(PT);//получаем HWND из координат GetWindowText(BrowserH,Nm,255); //заголовок GetClassName(BrowserH, Cs, 256); //класс KEI_LIST.lines.Add('---VG.SWF------'); KEI_LIST.lines.Add(IntToStr(BrowserH)); KEI_LIST.lines.Add(string(Nm)+'|'+string(Cs)); KEI_LIST.lines.Add('----PARENT-----'); PARENT:=GetHinstanse(BrowserH); //ищим родительское окно KEI_LIST.lines.Add(IntToStr(PARENT)); GetWindowText(GetHinstanse(PARENT),Nm,255); //заголовок GetClassName(GetHinstanse(PARENT), Cs, 256);//класс KEI_LIST.lines.Add(string(Nm)+'|'+string(Cs)); KEI_LIST.lines.Add('---FindWindowEx--'); HWndFromFindWindowEx:=FindWindowEx(FindWindow('Shell DocObject View', ''),0,'MacromediaFlashPlayerActiveX',nil); GetWindowText(HWndFromFindWindowEx,Nm,255); //заголовок GetClassName(HWndFromFindWindowEx, Cs, 256); //класс KEI_LIST.lines.Add(IntToStr(HWndFromFindWindowEx)); KEI_LIST.lines.Add(string(Nm)+'|'+string(Cs)); KEI_LIST.lines.Add('-----------------'); end; Результат: В чем может быть проблема? Пробовал и так: Code: procedure TForm1.GetHWNDClick(Sender: TObject); var PT:TPOINT; PARENT,HWndFromFindWindowEx:hwnd; Nm:Array[0..255] of Char; // буфер для имени Cs,Cs1: Array[0..255] of Char; // буфер для класса begin KEI_LIST.lines.Add(#13);//разделитель PT.x:=400; PT.Y:=400; Pt := ClientToScreen(Pt); BrowserH:=windows.WindowFromPoint(PT);//получаем HWND из координат GetWindowText(BrowserH,Nm,255); //заголовок GetClassName(BrowserH, Cs, 256); //класс cs1:=cs; KEI_LIST.lines.Add('---VG.SWF------'); KEI_LIST.lines.Add(IntToStr(BrowserH)); KEI_LIST.lines.Add(string(Nm)+'|'+string(Cs)); KEI_LIST.lines.Add('----PARENT-----'); PARENT:=GetHinstanse(BrowserH); //ищим родительское окно KEI_LIST.lines.Add(IntToStr(PARENT)); GetWindowText(GetHinstanse(PARENT),Nm,255); //заголовок GetClassName(GetHinstanse(PARENT), Cs, 256);//класс KEI_LIST.lines.Add(string(Nm)+'|'+string(Cs)); KEI_LIST.lines.Add('---FindWindowEx--'); HWndFromFindWindowEx:=FindWindowEx(FindWindow(Cs, nil),0,cs1,nil); GetWindowText(HWndFromFindWindowEx,Nm,255); //заголовок GetClassName(HWndFromFindWindowEx, Cs, 256); //класс KEI_LIST.lines.Add(IntToStr(HWndFromFindWindowEx)); KEI_LIST.lines.Add(string(Nm)+'|'+string(Cs)); KEI_LIST.lines.Add('-----------------'); end; Тот - же результат...