Mostrando entradas con la etiqueta windows 7. Mostrar todas las entradas
Mostrando entradas con la etiqueta windows 7. Mostrar todas las entradas

miércoles, 15 de junio de 2011

Menu Windows 8 en Windows 7



Este es un adelanto de lo que voy realizando, está todavía en pañales, se trata de un menú que se parece a la de Windows 8 para Tablets, lo empecé a hacer anteayer y bueno, ahí voy con algunas ideas que me van y vienen para integrarlo.


Este es el vídeo demostrativo de lo que hace hasta ahora.






Como pueden ver, aún le falta un menú más usable, el que estoy utilizando es una página web de inicio.


Si quieren probarlo, adelante lo pueden descargar desde deviantart http://vhanla.deviantart.com/art/Win8Menu-213387297


Este es el vídeo de Windows 8  






Estaré agregándole algunas cosas más, si tienen sugerencias por favor escriban en los comentarios.

domingo, 15 de mayo de 2011

+ y - para MSPaint - Reemplazando por otras teclas


Hace instantes surgió un problema en un Laptop, y es que como no tienen el teclado numérico (+ y -) y a pesar de probar con la tecla Fn, tampoco se lograba agrandar el tamaño del borrador de Paint.


Por lo tanto me propuse escribir un pequeño programita que permita reemplazar dichas teclas.


Averiguando me encontré con algunas funciones de la API de Windows.


  • GetAsyncKeyState

  • FindWindow

  • GetForegroundWindow, y

  • keybd_event

Con GetAsyncKeyState podemos obtener el estado del teclado, devuelve un valor de 2bytes, y si el bit más significativo está en alta, significa que está presionado.


Por tanto realicé la siguiente función en Delphi:



GetAsyncKeyState(Ord(Edit2.text[1]))and $8000)=$8000



Lo que hace es comparar el bit mencionado de la tecla que hemos asignado en el campo de texto Edit2.


Este es el diseño inicial.


FindWindow GetForegroundWindow nos servirán para : encontrar una aplicación en ejecución (MSPaint) y la ventana que tiene el foco de atención.



(FindWindow(‘MSPaintApp’,nil)=GetForegroundWindow)



Aquí lo que hacemos es comparar si la ventana de MSPaint encontrada es igual a la actual en uso.


Finalmente utilizamos keybd_event para enviar teclados



Sleep(5);
keybd_event(VK_ADD,MapVirtualKey(VK_ADD,0),0,0);


Sleep(5);    keybd_event(VK_ADD,MapVirtualKey(VK_ADD,0),KEYEVENTF_KEYUP,0);



Con ello ya hemos enviado la tecla + (VK_ADD) y para la tecla - utilizamos VK_SUBTRACT
Al final todo ello se realiza dentro de un objeto TTimer el cual se encargará de verificar en cierto intervalo de tiempo (en mi caso 100)
Finalmente aquí tiene el programa para que puedan probarlo ustedes mismos.