| ID | Asunto | Fecha | Nick | |
| 40608 | Inhabilitar tecla Impr Pant | 21/04/08 13:14 | swa | |  |
Hola,
Estoy intentando ver cómo inhabilitar la tecla "Impr Pant"
¿Me podríais ayudar? Gracias! |
|
| ID | Asunto | Fecha | Nick | |
| 40692 | Re: Inhabilitar tecla Impr Pant (Resp: 40608) | 23/04/08 15:38 | ht_soft | | |
pues lo unico que se me ocurre es intentar atraparla en algun evento onkeypress o algo asi... y no hacer nada cuando sea presionada
saludos
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40694 | Re: Inhabilitar tecla Impr Pant (Resp: 40608) | 23/04/08 15:48 | swa | | |
Hola! Muchas gracias por contestar.
El problema que tiene esta tecla, es que es un poco especial, y la trata Windows. Por eso se hace mas complicado poder capturarla.
Creo que con la API de windows se podría, pero no se cómo.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40701 | Re: Inhabilitar tecla Impr Pant (Resp: 40608) | 23/04/08 17:23 | jomabova | |  |
Hola. Depende de lo que quieras hacer necesitas una solución u otra. Me explico. Solución simple, sin programar con el Api, y dentro de un formulario. El Evento KeyUp si te permite atrapara la tecla Imprimir Pantalla, luego programamos ese evento: // Se supone que previamente le hemos dicho al form que queremos este evento
private void SoltarTecla(object sender, KeyEventArgs e)
{
if (e.KeyValue == 44)
{
MessageBox.Show("e = " + e.ToString() +
"\nAlt: " + e.Alt + "\nControl: " + e.Control
+ "\nControlado: " + e.Handled + "\nCodigo: " + e.KeyCode
+ "\nDatos: " + e.KeyData.ToString() +
"\nValor: " + e.KeyValue
+ "\nModificadores: " + e.Modifiers.ToString()
+ "\nshift: " + e.Shift + "\nSuprimir: " + e.SuppressKeyPress);
}
} Esto te muestra el mensaje cada vez que pulsas y sueltas Imprimir pantalla, claro y eso para que me sirve. Bien, la función de esa tecla en Windows, salvo que alguna aplicación la halla reprogramado, es hacer un volcado de pantalla completo o de la ventana activa, esta última si se pulso ALT simultáneamente. El sistema simplemente pone esos datos en el portapapeles. Entonces lo único que resta es borrar el contenido del portapapeles. // si cambias el messagebox.show anterior por
// MessageBoxResult respuesta = MessageBox.Show(....);
// en función de respuesta
if (Clipboard.ContainsImage() & respuesta = 1)
{
Clipboard.Clear();
}
// ahora lo pruebas levantando previamente el MsPaint
// verás que cuando fuerces el borrado en el menú edición del
paint "Pegar" no está activo
// por el contrario, cuando no borres verás que puedes pulsar
en pegar, y la pantalla aparece. Respecto a programar el Api, eso no es tan fácil como parece. Saludos.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |
|
| ID | Asunto | Fecha | Nick | |
| 40705 | Re: Inhabilitar tecla Impr Pant (Resp: 40701) | 23/04/08 17:57 | swa | | |
Perfecto!
Muchísimas gracias.
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |