• Inicio
  • Buscar
  • Ingresar
  • Registrarse

    Seguridad en gadgets tecnológicos: todo lo que necesitas saber para protegerte

    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • C / C++ »
    • Ayuda OK
    • Imprimir
    Páginas: [1]   Ir Abajo

    Autor Tema: Ayuda OK  (Leído 3649 veces)

    Desconectado r1ghtz0

    • { L4 } Geek
    • ****
    • Mensajes: 303
    • Estudiando
      • Ver Perfil
    Ayuda OK
    « en: Marzo 11, 2018, 09:56:49 pm »
    Bueno este codigo que esta aqui la funcion GetAsyncKeyState(tecla) devuelve 1 si se presiono una tecla, yo presiono la tecla 70 (ASCII) y  el valor devuelto por la GetAsyncKeyState(tecla) dice que es igual a OK -32767 pero ¿por que? si GetAsyncKeyState(tecla) devuelve 1 al presiona una tecla.

    Código: [Seleccionar]
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>

    #define OK -32767

    /* run this program using the console pauser or add your own getch, system("pause") or input loop */

    int main(int argc, char *argv[]) {

    int tecla= 70;
    int tep;

    do{

    if(tep= GetAsyncKeyState(tecla)==OK){ //si pulsa una tecla
        printf("%d\n", tep);
        }

    }while(1<2);

    return 0;
    }
    « Última modificación: Marzo 11, 2018, 09:59:38 pm por r1ghtz0 »
    En línea

    Desconectado 3f1m3r0

    • { L0 } Ñuub
    • Mensajes: 12
      • Ver Perfil
    Re:Ayuda OK
    « Respuesta #1 en: Marzo 12, 2018, 01:00:26 am »
    q tal, creo que el descuido es el if

    Código: C
    1. //if(  tep = GetAsyncKeyState(tecla )== OK )
    2. //creo que deberia estar asi :
    3. if( ( tep = GetAsyncKeyState(tecla ))== OK )
    4.  

    saludos  :D :D
    En línea

    Desconectado r1ghtz0

    • { L4 } Geek
    • ****
    • Mensajes: 303
    • Estudiando
      • Ver Perfil
    Re:Ayuda OK
    « Respuesta #2 en: Marzo 13, 2018, 11:40:24 pm »
    Pero que es OK -32767 porque esta constante se compara con uno?
    « Última modificación: Marzo 13, 2018, 11:43:23 pm por r1ghtz0 »
    En línea

    Desconectado 3f1m3r0

    • { L0 } Ñuub
    • Mensajes: 12
      • Ver Perfil
    Re:Ayuda OK
    « Respuesta #3 en: Marzo 14, 2018, 02:20:53 am »
    me retracto de la estupidez que escribi :-[ un saludo y mil disculpas.

    http://winapi.conclase.net/curso/?winfun=GetAsyncKeyState
    En línea

    Desconectado ravenheart

    • { L7 } Juanker
    • *******
    • Mensajes: 1359
    • Todos mis mensajes están bajo la licencia WTFPL v2
      • Ver Perfil
    Re:Ayuda OK
    « Respuesta #4 en: Marzo 18, 2018, 09:31:01 am »
    https://msdn.microsoft.com/es-es/library/windows/desktop/ms646293(v=vs.85).aspx

    https://msdn.microsoft.com/es-es/library/windows/desktop/dd375731(v=vs.85).aspx

    En primer lugar, el parámetro que recibe la función no es el código ASCII, sino un código interno de windows (Virtual-key code) que tienes en uno de los enlaces anteriores.

    En el otro enlace, en la sección Return Value, te explica el significado del valor devuelto:
    Citar
    If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState
    -32767 en binario es 1000 0000 0000 0001. Es decir, que la tecla está pulsada, y también lo estaba en la llamada anterior.
    En línea
    You do not need hope if you have drama to back you up.

    • Imprimir
    Páginas: [1]   Ir Arriba
    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • C / C++ »
    • Ayuda OK
     

    • SMF | SMF © 2013, Simple Machines
    • XHTML
    • RSS
    • WAP2
    Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso... Learn more