elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Intentando pasar de PIC a windows....
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Intentando pasar de PIC a windows....  (Leído 2,359 veces)
Xajorkith

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Intentando pasar de PIC a windows....
« en: 8 Abril 2016, 13:29 pm »

Hola, enhorabuena por el foro. Llevo un tiempo sin programar y para volver a retomar la programación estoy pasando de los pics a los mini pc, tengo idea de comprar el e9 mni PC, que puede correr ubuntu con 2 gigas, pero como si fuera un stm32 que es el que use inicialmente, abriendo una ventanita con el programa compilado en c y olvidando que hay un sistema operativo por encima ya que en STM32 no hay sistema operativo, solo el programa que grabas en la memoria.

Para empezar he bajado el DEV-C++, la versión 5, y he creado un nuevo proyecto para ventana en windows con un tamaño de 1024x600, que es el tamaño de la pantalla que tendré mas adelante, hasta ahí, todo fácil. (este paso no era mucho reto, lo reconozco)

El programa que tengo para el STM32 es un bucle continuo ejecutando 'aplcaciones' y no hace gran cosa de momento, basicamente pruebas de las funciones creadas, quedó algo incompleto. :(

De windows lo único que necesito es saber la posición del ratón, si se ha pulsado (no necesito el botón derecho ni teclado por que la pantalla táctil no los tiene) y la función para imprimir un pixel, la escritura y los gráficos los hago usando mis rutinas de escritua y dibujo y el teclado lo simulo en un teclado virtual en pantalla.

Para seguir avanzando en windows tengo el bucle típico:
   while(GetMessage(&msg, NULL, 0, 0) > 0) { /* If no error is received... */
       TranslateMessage(&msg); /* Translate key codes to chars if present */
      DispatchMessage(&msg); /* Send it to WndProc */
   }

Supongo que todo el tema de variables, estructuras y funciones no varia de un entorno a otro.
¿Pero como leo la posición del ratón, compruebo el clic, y pinto un pixel?
¿Tengo que hacerlo descifrando lo recibido de get, traduciendo con translate a ver que mensaje es y enviando un pixel usando dispatch con alguna estructura específica como mensaje? ¿No hay funciones específicas en alguna librería? ¿O llamadas concretas a get, translate y dispatch?

El programa que tengo solo usa esas tres funciones del sistema, así las modificaciones son mínimas para migrar a cualquier micro.

Agradezco cualquier ayuda.
Gracias.



En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Intentando pasar de PIC a windows....
« Respuesta #1 en: 9 Abril 2016, 16:39 pm »

Si quieres lgo simple, y coordenadas de toda la pantalla, puedes usar las funciones:
GetCursorPos, para sacar la posición del ratón.
GetAsyncKeyState, para ver si está pulksado el botón del ratón (o de cualuiqer tecla)


En línea

Xajorkith

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Intentando pasar de PIC a windows....
« Respuesta #2 en: 11 Abril 2016, 13:03 pm »

Perfecto Cox66, va de lujo, en nada está leído el ratón y su posición, se echa de menos algún ejemplo práctico en la página de Micrsofot, pero bueno, no cuesta mucho.

Se me olvidó preguntar como obtener el tiempo con milisegundos para las sincrinzaciones y el control del tiempo. Si lo tienes a mano ponmelo, al final he optado por una aplicación de consola con la librería graphics. No es lo mas elegante, pero pa ir tirando me vale. La semana que viene empezaré a migrar la aplicación y cuando haya algo operativo os enviaré una muestra a ver que os parece.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Intentando pasar de PIC a windows....
« Respuesta #3 en: 11 Abril 2016, 13:30 pm »

De la librería time.h en C (o ctime en C++), tienes la función clock(). Retorna el tiempo que lleva el programa en clocks. Para pasarlo a segundos, divides entre CLOCKS_PER_SEC. Si quieres milisegundos, primero multiplicalo por 1000.

Código
  1. clock_t initial = clock();
  2. // Code
  3. cout << "Milliseconds: " << ((clock()-initial)*1000/CLOCKS_PER_SEC) << " ms" << endl;

Y por cierto, soy ivancea96, no C0x66, que es el logo de mi blog xD
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
intentando pasar de cinta magnética a mp3 « 1 2 »
Multimedia
Cobac 18 38,848 Último mensaje 7 Abril 2004, 15:05 pm
por Cobac
Problemas con photosmart d5160 al pasar a windows vista/windows 7
Software
Danyor 0 2,718 Último mensaje 22 Junio 2010, 18:16 pm
por Danyor
Error en Formateo para pasar de Windows 98 a Windows XP
Windows
sacgol17 3 4,443 Último mensaje 1 Julio 2010, 23:11 pm
por Randomize
Intentando crear programa romper claves wifi (WEP) S.O Windows en C++ « 1 2 ... 8 9 »
Programación C/C++
WiseHidden 82 53,249 Último mensaje 27 Septiembre 2011, 19:50 pm
por pacocable
Pilladas intentando pasar iPhone 4S ilegales por la frontera
Noticias
wolfbcn 3 3,015 Último mensaje 30 Abril 2012, 19:03 pm
por crazykenny
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines