Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: fary en 1 Agosto 2010, 20:39 PM

Título: PRoblema en fasm intentando usar consola
Publicado por: fary en 1 Agosto 2010, 20:39 PM
Holas.... bueno estoy intentando crear en asm una consola con las api de windows... , la genera bien y todo pero no puedo imprimir cosas en la consola y nose porque es, aqui les dejo el codigo haber si ustedes saben solucionarlo.

Código (asm) [Seleccionar]
include 'c:\archivos de programa\include\win32ax.inc'

.data

    msgerror db 'No se a encontrado la consola',0
    tituloerror db 'Error',0
    tituloconsola db 'Drinky Console in Asm',0
    linea db 'Esta es mi consola!',0
    hwnd dd ?
    escribe dd ?
    longitud dd ?
.code
start:

    invoke AllocConsole
    invoke GetStdHandle,STD_INPUT_HANDLE
    cmp eax,0
    ja correcto
    jbe incorrecto
    correcto:
        mov [hwnd],eax
        invoke SetConsoleTitle,tituloconsola
        invoke lstrlen,linea
        mov [longitud],eax
        invoke WriteConsole,hwnd,linea,longitud,[escribe],NULL   ; Esta es la linea que creo que falla


        jmp fin
    incorrecto:
        invoke MessageBoxA,0,msgerror,tituloerror,MB_ICONERROR
        jmp fin
    fin:
        ret

.end start       



salu2! y esperando respuesta.
Título: Re: PRoblema en fasm intentando usar consola
Publicado por: Eternal Idol en 1 Agosto 2010, 20:59 PM
Primero estas creando un programa que no es realmente de consola y por eso tenes que llamar a AllocConsole.

Agregando esto al principio no hace falta y tu programa tendra como subsystem en el PE console:
Código (asm) [Seleccionar]
format PE console

Segundo estas pidiendo el HANDLE para la ENTRADA, es decir el teclado, tenes que pedir la salida, el monitor:

Código (asm) [Seleccionar]
invoke GetStdHandle, STD_OUTPUT_HANDLE

Y tercero efectivamente la linea de WriteConsole esta mal, deberia ser asi:
Código (asm) [Seleccionar]
invoke WriteConsole, [hwnd], linea, [longitud], escribe, NULL
Título: Re: PRoblema en fasm intentando usar consola
Publicado por: fary en 1 Agosto 2010, 21:13 PM
ufff, cierto, muchas gracias Eternal idol... ejeje esto de empezar en asm... XD

salu2! y gracias.

Título: Re: PRoblema en fasm intentando usar consola
Publicado por: Eternal Idol en 1 Agosto 2010, 21:41 PM
De nadas  ::)