Re: Punch a hole through a window other than your own?
Re: Punch a hole through a window other than your own?
- Subject: Re: Punch a hole through a window other than your own?
- From: Gen Kiyooka <email@hidden>
- Date: Wed, 30 Mar 2005 17:05:58 -0800
My guess is that you'd have to be inside the process. On Win32, the
Window enumeration functions
enumerate all the Windows in the system. HWNDs are valid and
accessible across processes.
OSX is a completely different animal. For one, Carbon and Cocoa have
two different ways of
referencing Windows, and in Carbon, the window enumeration only returns
windows for the
current process.
I stood up and asked a question similar to this at WWDC, and got a
no-can-do answer.
If you're really into reverse engineering, my guess is to spy on the
mach message traffic (no easy task)
between QuartzDebug and the Window server process. QuartzDebug lists
all the system Windows
and their properties, such as whether they have a backing buffer etc.
If you go over to http://rentzsch.com/ you'll find a description of how
to inject code into a running
process. Similar to Jeffrey Richter's code examples for Win32 on the
same subject.
Inject a mach-o bundle into each process that has enough Cocoa and
Carbon calls to munge
the Window properties and you're there.
Gen Kiyooka
Digigami
On Mar 30, 2005, at 2:24 PM, Jay Koutavas wrote:
I know it's possible to punch a transparent hole through my own window
using a transparent custom view. But... is it possible, by hook or by
crook, to punch a hole through another application's window?
The Windows version of the project I'm researching can do this. It
grabs a window handle and knocks rectangular holes right through an
Internet Explorer window to do dynamic overlays atop playing video on
a window directly underneath. Alas, if only Safari honored the z-index
of embedded movie plugins (Quicktime and Media Player), I wouldn't be
having to look for a similar hack on Mac OS X.
With all the horsepower of Quartz compositing I imagine there is
someway to achieve this. Probably an undocumented way, but still it is
possible, witness moving windows around atop playing video.
Comments, chuckles? ;)
--
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Jay Koutavas mailto:email@hidden
Heynow Software http://www.heynow.com
Windham, New Hampshire, USA
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden