Page 1 of 1

Why does Xyplorer have so many child HWNDs?

Posted: 18 Apr 2025 18:06
by Raf
Hello. I am working on the QuickSwitch that sends a WM_COPYDATA request to all XYplorer HWNDs.
Why does XYplorer have so many unique child windows?

I noticed that each individual Xyplorer window and each sidebar has its own HWND, while for the same Directory Opus, any child window and panel has a HWND equivalent to the ancestor.

What is the reason for such difference and how can I filter the main XY window and child windows without constantly checking if there is an ancestor' HWND in the list of all child HWNDs?

Re: Why does Xyplorer have so many child HWNDs?

Posted: 18 Apr 2025 18:55
by Norn
XY has a control that can directly get the path, even for dual panes.
Edit16.png
Edit16.png (6.61 KiB) Viewed 1440 times
For sending a WM_COPYDATA, you can know which is the main window from the number of window controls.

Re: Why does Xyplorer have so many child HWNDs?

Posted: 18 Apr 2025 20:06
by Raf
Norn wrote: 18 Apr 2025 18:55 you can know which is the main window from the number of window controls.
It's a bad idea. You need to request a list of controls for each window, it's faster to request Ancestor (owner)... but I want fewer queries and checks, they are very slow...

BTW you can use my xyplorer theme and portable NPP configured for XYplorer and Autohotkey: https://github.com/JoyHak/awesome-notep ... s/releases

Re: Why does Xyplorer have so many child HWNDs?

Posted: 18 Apr 2025 20:11
by Raf
Norn wrote: 18 Apr 2025 18:55 XY has a control that can directly get the path, even for dual panes.
I am using WM_COPYDATA with sending .xys script, because I need to convert special paths and resolve variables.

Does Dopus have such a control? I found dopus.filedisplaycontainer, but every tab has this control, and it is impossible to determine the active tab and panel using it...

Re: Why does Xyplorer have so many child HWNDs?

Posted: 18 Apr 2025 22:55
by Norn
Raf wrote: 18 Apr 2025 20:06 BTW you can use my xyplorer theme and portable NPP configured for XYplorer and Autohotkey: https://github.com/JoyHak/awesome-notep ... s/releases
Thanks, but I am moving away from NPP.
Raf wrote: 18 Apr 2025 20:11 Does Dopus have such a control? I found dopus.filedisplaycontainer, but every tab has this control, and it is impossible to determine the active tab and panel using it...
Address bar controls, you need to calculate...

Re: Why does Xyplorer have so many child HWNDs?

Posted: 19 Apr 2025 08:20
by Raf
Norn wrote: 18 Apr 2025 22:55 Address bar controls, you need to calculate...
Calculate what? Maybe I'm using the wrong Control Class?

Re: Why does Xyplorer have so many child HWNDs?

Posted: 19 Apr 2025 13:14
by Norn
Address bar control 1 and address bar control 2 (AFAIK there is no specific control to get the path of the active pane.), you need to know the position of the currently focused control and calculate it, vertical dual pane, horizontal dual pane... Or find out if there is any other method.