Click here to Skip to main content
15,868,016 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Yep, the title says it all.

The reason is that my programs topmost-window-layer-behavior interferes with the drop-target behavior of the chrome web browser (and likely other programs), with regards to peeling off tabs and dropping them on other instances of chrome.
(my program is this btw: http://sourceforge.net/projects/windowshades/[^], you see it's violating windows-design-guidelines by staying topmost despite everything you can throw at it, which leads to the current problem which i'm trying to fix :P)

[My current way of dealing with this problem is i detect when a person is peeling off chrome-tabs and literally hide the overlay until the point when they release the mouse, and naturally i want to solve this problem correctly to prevent interference with other programs which i'm not aware of]

And right now i'm assuming that the solution will be to to make my program transparent to WindowFromPoint, and possibly other windows discovery methods like EnumWindows.
Posted
Updated 18-Oct-10 17:13pm
v4
Comments
manchukuo 18-Oct-10 14:44pm    
you mean get the window from a point, if there are for example 2 windows that overlap in a certain region get the one being the top most window?
Shog9 18-Oct-10 17:14pm    
Per the documentation, WindowFromPoint won't retrieve a disabled window. Have you tried just disabling the window you wish to "hide"?
FocusedWolf 18-Oct-10 22:57pm    
I set the WS_DISABLED flag along with other flags in a CreateParams overload. (I'm gonna enhance the question cause it may be that i'm on the wrong track with this goal)

1 solution

Try returning HT_TRANSPARENT from WM_NCHITTEST.
 
Share this answer
 
Comments
FocusedWolf 20-Feb-11 17:40pm    
Looks like it works! Thank you! :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900