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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [AYUDA] con mi aplicacion porfa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [AYUDA] con mi aplicacion porfa  (Leído 2,239 veces)
dalvisito

Desconectado Desconectado

Mensajes: 3


Ver Perfil
[AYUDA] con mi aplicacion porfa
« en: 18 Noviembre 2010, 03:00 am »

Hola soy nuevo con c++ y quisiera que me ayudaran.
mi aplicaion es la sigiente. el problema que tengo es que tengo que entrar a la
consola para ejecutar las opciones, lo que quiero es minimizar la aplicacion y
digamso precionar 'F8' y que la aplicacion ejecute la opcion 1.


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. using namespace std;
  6. int main()
  7. {
  8. int fin = 0;
  9. int opcion;
  10.  
  11. while (fin == 0)
  12. {
  13. system("cls");
  14. printf("Menu Del AutoClick\n\n");
  15.  
  16. printf("\t1] AutoClick Izquierdo.\n");
  17. printf("\t2] AutoClick Derecho.\n");
  18. printf("\t3] Salir.\n");
  19.  
  20. printf("\n\nOpcion: ");
  21. scanf("%i", &opcion);
  22. switch(opcion)
  23. {
  24. case 1:
  25. printf("AutoClick Izquierdo Empieza en 10 Segundos.\n");
  26. for(signed int i = 10; i >= 0; i--)
  27. {
  28. printf("%i\n",i);
  29. Sleep(1000);
  30. }
  31. printf("Para Detener Precione 'F8'\n");
  32. while(1 && !GetAsyncKeyState(VK_F8)){
  33. mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
  34. Sleep(20);
  35. mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
  36. Sleep(20);
  37. }
  38. break;
  39. case 2:
  40. printf("AutoClick Derecho Empieza en 10 Segundos.\n");
  41. for(signed int i = 10; i >= 0; i--)
  42. {
  43. printf("%i\n",i);
  44. Sleep(1000);
  45. }
  46. printf("Para Detener Precione 'F9'\n");
  47. while(1 && !GetAsyncKeyState(VK_F9)){
  48. mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);
  49. Sleep(20);
  50. mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);
  51. Sleep(20);
  52. }
  53. break;
  54. case 3:
  55. fin = 1;
  56. printf("La Aplicacion a Finalizado\n\n");
  57. break;
  58. default:
  59. fin = 0;
  60. break;
  61. }
  62.  
  63. }
  64. system("pause");
  65. return 0;
  66. }


« Última modificación: 18 Noviembre 2010, 17:28 pm por Littlehorse » En línea

fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: [AYUDA] con mi aplicacion porfa
« Respuesta #1 en: 18 Noviembre 2010, 22:20 pm »

El problema que tienes en tu codigo es que haces un scanf y paras el programa, y si lo minimizas no puede recibir datos y pasar el scanf... para hacer lo que tu quieres no tienes que hacer scanf simplemente esperar a que se pulse la tecla que quieres ( con getasynckeystate como tu bien haces o con hooks)  y listo.

salu2!


En línea

Un byte a la izquierda.
dalvisito

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [AYUDA] con mi aplicacion porfa
« Respuesta #2 en: 19 Noviembre 2010, 07:34 am »

Si es verdad lo que tu dices. pero si quito el "scanf" se crea un bucle infinito
hasta que yo precione la alguna tecla.
ese es en realidad mi problema.
En línea

fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: [AYUDA] con mi aplicacion porfa
« Respuesta #3 en: 19 Noviembre 2010, 23:53 pm »

Si es verdad lo que tu dices. pero si quito el "scanf" se crea un bucle infinito
hasta que yo precione la alguna tecla.
ese es en realidad mi problema.

Es normal que pase eso...  :xD

Creo  que tu quieres seguir utilizando la consola aunque no se haya pulsado la tecla, para eso tienes que usar multihilos, mirate la funcion CreateThread.

salu2!
En línea

Un byte a la izquierda.
dalvisito

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [AYUDA] con mi aplicacion porfa
« Respuesta #4 en: 20 Noviembre 2010, 07:03 am »

Bueno pensando y analizando los comentarios de "Drinky94" llege
a esto, para evitar un bucle infinito que consuma recurso le puse
un Sleep(1000);.
ahora no se hasta que punto sera una buena programacion o simplemente
estoy haciendo sonseras.



#include <stdio.h>
#include <stdlib.h>

#include <iostream>
#include <windows.h>

using namespace std;

int main()
{
   int fin = 0;
   int opcion;
   int sasa;
   
   while (fin == 0)
   {
      system("cls");
      cout << "Menu Del AutoClick \n\n";   
      
      cout << "\tF8] AutoClick Izq.\n";
      cout << "\tF10] AutoClick Der.\n";
      cout << "\tF12] Salir.\n";         

      if(GetAsyncKeyState(VK_F8))
      {      
         cout<<"\aPara Detener Precione 'F8'"<<endl;
         Sleep(1000);
         while(1 && !GetAsyncKeyState(VK_F8)){
            mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
            Sleep(20);   
         }
      }
      if(GetAsyncKeyState(VK_F10))
      {      
         cout<<"\aPara Detener Precione 'F10'"<<endl;
         Sleep(1000);
         while(1 && !GetAsyncKeyState(VK_F10)){
            mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
            Sleep(20);   
         }
      }
      if(GetAsyncKeyState(VK_F12))
      {      
         cout<<"\aLa Aplicacion a Finalizado."<<endl;
         fin = 1;
      }
      Sleep(1000);
      
   }
   
   return 0;
}
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con aplicación vb6
Programación Visual Basic
AntonioPalma 3 1,557 Último mensaje 22 Septiembre 2011, 08:22 am
por Yoghurt
Ayuda con aplicacion web
Desarrollo Web
Grey_Area 0 1,182 Último mensaje 24 Julio 2012, 02:58 am
por Grey_Area
Leer archivo .VBS
.NET (C#, VB.NET, ASP)
rksemk 3 2,315 Último mensaje 10 Octubre 2012, 01:34 am
por rksemk
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines