xxxxx@hotmail.com wrote:
The MemoryMappedFile is a bitmap image, the constant 54 is the length of the BITMAP Header. It is only for fast debugging. (The driver is unloaded after a test and I only double-click the BITMAP to load it.)
Ah; I usually use sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER).
The only desktop that is required, is the local which I may be assuming wrongly, so could you correct me would always be the first user desktop. (First is the Service, Second is the user.) Is there a way of identifying which desktop you are using, local / remote logged in?
You can have several people logged on locally to a single computer, if
“fast user switching” is enabled. Each one gets a desktop. Have you
never seen the “Switch User” option on the same menu as Log Off and
Shutdown?
I didn’t think about it sending an image inside an image. I assumed that padding wouldn’t be needed because the width was always going to be a multiple of 4 bytes since the BPP is 32bit. If I were saving or reading from a 24bit image I would have written some padding code.
What I meant is that the width of the BitBlt is not necessary the same
as the width of the source bitmap. I can blit a piece of one window to
another part of the window.
You have cleared a few things up. Which variable would I use to determine which part of the bitmap was being used?
Have you done graphics programming where you have used the BitBlt call?
Remember that BitBlt is not only used to copy between windows and
bitmaps, it’s also used to blend windows and bitmaps, and to draw solid
colors.
The width and height of the section to transfer is in prclTrg
(intersected with the clipping region in pco, when given). The starting
point within the source bitmap is pptlSrc. Note, however, that some
ROPs don’t use the source at all. You have to look at the ROP4 to
figure that out.
In general, you shouldn’t need to look at the source bitmap or the
pattern. What you do is pass the call to EngBitBlt, let it do the
drawing on your copy of the desktop, then figure out what part of your
desktop was changed by the call, and save that.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.