Re: Handle select
Posted: Mon Aug 27, 2018 8:23 am
Hi,
If you use "WinExplorer" or some other utility to show all system windows you will see that if you click on a SELECT element CEF3 will create a window called Chrome_WidgetWin_0 with a child window called Chrome_RenderWidgetHostHWND. These windows are not children from the CEF4Delphi browser (SimpleBrowser2 in this case) and they are different from the windows with the same name created by CEF3 as children of the CEF4Delphi browser.
What you ask is a way to get the HWNDs of the other (not the browser children) Chrome_WidgetWin_0 and Chrome_RenderWidgetHostHWND windows. To get them you will have to use the FindWindow function to get the Chrome_WidgetWin_0 THandle and then use FindWindowEx to get the Chrome_RenderWidgetHostHWND THandle :
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
PS : WinExplorer can be downloaded from http://www.nirsoft.net/utils/winexp.html
If you use "WinExplorer" or some other utility to show all system windows you will see that if you click on a SELECT element CEF3 will create a window called Chrome_WidgetWin_0 with a child window called Chrome_RenderWidgetHostHWND. These windows are not children from the CEF4Delphi browser (SimpleBrowser2 in this case) and they are different from the windows with the same name created by CEF3 as children of the CEF4Delphi browser.
- Chrome_WidgetWin_0
- Chrome_RenderWidgetHostHWND
- SimpleBrowser2
- TCEFWindowParent
- CefBrowserWindow
- Chrome_WidgetWin_0
- Chrome_RenderWidgetHostHWND
- Chrome_WidgetWin_0
- CefBrowserWindow
- TCEFWindowParent
What you ask is a way to get the HWNDs of the other (not the browser children) Chrome_WidgetWin_0 and Chrome_RenderWidgetHostHWND windows. To get them you will have to use the FindWindow function to get the Chrome_WidgetWin_0 THandle and then use FindWindowEx to get the Chrome_RenderWidgetHostHWND THandle :
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Code: Select all
var
TempWidgetHandle, TempRenderHandle : THandle;
begin
TempWidgetHandle := FindWindow('Chrome_WidgetWin_0', '');
if (TempWidgetHandle <> 0) then
TempRenderHandle := FindWindowEx(TempWidgetHandle, 0, 'Chrome_RenderWidgetHostHWND', 'Chrome Legacy Window');
end;