Jak zdobyć zrzut ekranu, aby dołączyć wywołujące okno (na XP)
Mam kod, który robi zrzut ekranu ...
<code>Size ssSize; int ssX, ssY, ssWidth, ssHeight; Bitmap thisScreenshot; Graphics gfxScreenshot; public Image Screenshot() { ssX = Screen.PrimaryScreen.Bounds.X; ssY = Screen.PrimaryScreen.Bounds.Y; ssWidth = Screen.PrimaryScreen.Bounds.Width; ssHeight = Screen.PrimaryScreen.Bounds.Height; ssSize = Screen.PrimaryScreen.Bounds.Size; thisScreenshot = new Bitmap(ssWidth,ssHeight); gfxScreenshot = Graphics.FromImage(thisScreenshot); return((Image)gfxScreenshot.CopyFromScreen(ssX, ssY, 0, 0, ssSize)); } </code>
W W7 obraz wynikowy zawiera piksele okna wywołującego; ale na XP tak nie jest. Chciałbym, aby obraz zawsze zawierał piksele procesu wywołującego / okna. Jakieś wskazówki, jak mogę to wymusić?
AKTUALIZACJA1: Zrobiłem z tym więcej eksperymentów, w wyniku czego jestem bardziej zdezorientowany ... Wziąłem powyższy kod i stworzyłem całkowicie oddzielną aplikację, dzięki czemu nie ma związku między tym a aplikacją, z której pierwotnie go uruchomiłem . O dziwo, wciąż nie widzę okna tej aplikacji na zrzucie ekranu. Teraz nie mam związku między procesem robienia zrzutu ekranu a oknem, które chcę umieścić na zrzucie ekranu; jednak to okno nadal nie jest włączone. Próbowałem przycisku PRNT-SCRN, który zawiera okno. Zauważ, że jest to tylko problem z XP.