go to WPC , and seek out the member Alexnrs, he is making something too, which involves this.
if someone would know, its him...
check it out, and ask him for help, thats my best advice in this matter, i can only call gdi and brushes and dc's in autoit, which wont help you a lot in this matter so
good luck man.
I took a look but didn't see anything that would help me. I eventually gave up on trying to do custom marshalling of COM objects and built some simple shared-memory classes using CreateFileMapping, MapViewOfFile, etc, and Windows mutexes to synchronize process access. I have that portion working pretty well now, though I can see that I'll have to optimize it at some point with a subclass that supports dirty rectangles.
It's been a long, slow slog getting GDI to play nice, but one GDI message at a time I'm slowly getting there. I have alpha-blended borders and window contents painting on my D3D surface, though the background is still black since I haven't put in any effort yet into getting the window background onto a texture. I've put some thought into it, though, and I don't think that part will be too hard. The real trick is keeping GDI from interfering with my screen painting while letting it route messages to windows. Nailing window dragging down has been a real chore, but once I found that WM_SYSCOMMAND was the culprit, it came into place. At this point I'm concentrating on getting mouse messages working smoothly.
An evil thought has been at the back of my mind...if I can get all this working, I'll have a Direct3D surface for a window background -- I wonder if that will let me make use of Vista .dreams files? I don't know anything about them, but my understanding is that they let you have animated backgrounds. I have no idea if it will be possible, but since the desktop background will be a separate D3D texture, it seems to me that some interesting things should be possible. I don't suppose anyone has any info on what are in .dreams files?
In terms of the non-D3D effort, I've made lots of little improvements, and also added support for some animated elements (start button, window borders (non-alpha-blended), scroll bars, task buttons, and buttons).
This post has been edited by WildBill: 10 September 2008 - 09:29 PM