Como obter screenshots para incluir a janela de chamada (no XP)
Eu tenho código que leva uma captura de tela ...
<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>
No W7, a imagem resultante inclui os pixels da janela de chamada; mas no XP isso não acontece. Eu gostaria que a imagem sempre incluísse os pixels do processo / janela de chamada. Alguma pista de como eu posso forçar isso?
UPDATE1: Fiz mais experimentos com isso e, como resultado, estou mais confuso ... Eu peguei o código acima e criei um aplicativo totalmente separado para que não houvesse relação entre esse e o aplicativo que eu estava lançando originalmente de . Estranhamente, eu ainda não estou vendo a janela desse aplicativo na imagem. Então agora eu não tenho relação entre o processo de fazer a captura de tela e a janela que eu quero incluir na captura de tela; No entanto, essa janela ainda não está incluída. Eu tentei o botão PRNT-SCRN e isso inclui a janela. Note que isto é apenas um problema no XP.