Visual CSharp .NET - obtener datos de una ventana "inferior"

 
Vista:
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Bourne (3 intervenciones) el 31/05/2014 16:15:24
Buenas compañeros,

necesito crear una ventana que pueda capturar los caracteres de una ventana que este justo detrás, es decir, la ventana q tengo q crear seria transparente, de modo q puedo ver la zona a "capturar".
¿Es posible hacer esto con C#?

Un saludo y muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Pico (29 intervenciones) el 31/05/2014 18:31:34
¿ein?

Suena a programa espía. Tú escribes en un sitio pero escribes en otro porque uno se transparenta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Bourne (3 intervenciones) el 04/06/2014 07:20:47
No compañero, el objetivo es hacer una lupa.....es un ejercicio.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Pico (29 intervenciones) el 04/06/2014 11:10:45
Pues me gustaba más el espía.

Pues sí, se puede hacer en c#. Se puede hacer con la clase Graphics o usando directamente el api de windows.

Puedes crear un Graphics a partir de la ventana que sea, simplemente sabiendo su handle, con Graphic.FromHwnd. Luego copias ese Graphics a otro, ya sea con CopyFromScreen o pasándolo antes a un Image y luego con DrawImage. Con CopyFromScreen creo que si hay algo encima de la ventana que quieres copiar te copia ese algo también. Así que mejor creas un Image a partir de HDC del Graphics y luego copias ese Image al otro Graphics con DrawImage.

Con el api de windows es un poco más complicado, no mucho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Bourne (3 intervenciones) el 05/06/2014 07:24:45
y....como puedo saber el Handle de una pantalla??? :S
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Pico (29 intervenciones) el 05/06/2014 11:53:54
Lupa

1
2
3
4
5
6
7
8
9
10
11
12
13
private void timer1_Tick(object sender, EventArgs e)
        {
            P = MousePosition;
            float f = (trackBar1.Value/10) + 1;
            Graphics grPanel = panel1.CreateGraphics();
            Bitmap bp = new Bitmap(panel1.Width, panel1.Height);
            Graphics gr = Graphics.FromImage(bp);
            Size s = new System.Drawing.Size(panel1.Width, panel1.Height);
            gr.CopyFromScreen((int)(P.X - ((panel1.Width/f)/2)),(int)(P.Y - (panel1.Height/f) / 2), 0, 0, s);
            grPanel.DrawImage(bp, 0, 0, panel1.Width * f, panel1.Height * f);
            gr.Dispose();
            grPanel.Dispose();
        }


Y si una cosa que está fea puedes hacerla bien, mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Kennedy (3 intervenciones) el 17/07/2014 18:54:15
Muy bien pero como hago para que cuando la trackbar sea 100% no haga zoom y tome los pixeles reales de la seleccion. y al aumentar solo haga el zoom dentro del panel1 no que tome fuera de los margenes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Kennedy (3 intervenciones) el 17/07/2014 19:30:09
en la imagen se muestra a 0 de zoom pero los margenes de captura se salen, yo quiero que solo haga zoom lo que esta dentro del panel ,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Pico (29 intervenciones) el 17/07/2014 21:28:37
Pues se hace haciéndolo. Es como si me dices que cómo haces para echar a andar y no pasarte y caerte al río. Pues se hace parando antes de llegar al río. Una ventana tiene una posición y unas medidas en la pantalla, un rectangle. Si lo que copias se sale de ese rectangle no lo copies. Si entiendes el código mío no tienes problemas en hacerlo. Si no lo entiendes, no hagas un copy&paste.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

obtener datos de una ventana "inferior"

Publicado por Kennedy (3 intervenciones) el 18/07/2014 00:59:03
Men es que soy bastante nobato en crear imagen a patir de la pantalla e intente cambiar partes pero me funciono quiero que no se salga nada de los margenes y que cuando el zomm este en 100% no gaiga nada de zoom
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar