M
M
Maxim Ko2021-11-06 17:04:32
assembler
Maxim Ko, 2021-11-06 17:04:32

Why is there an error in the USER32.INC class?

Good day!
I just started learning FASM assembler and I got an error in the WNDCLASS structure. The code was written in IDE FASM EDITOR 2.0, compiler version 1.73.28. The code:

format PE Console ; говорим компилятору FASM какой файл делать

entry start ; говорим windows-у где из этой каши стартовать программу.

include 'win32a.inc' ; подключаем библиотеку FASM-а
;можно и без нее но будет очень сложно.

section '.data' data readable writeable ; секция данных

  hello db 'hello world!',0 ; наша строка которую нужно вывести

section '.code' code readable writeable executable ; секция кода

start: ; метка старта
  invoke printf, hello ; вызываем функцию printf
  
  invoke getch ; вызываем её для того чтоб программа не схлопнулась
  ;то есть не закрылась сразу.
  
  invoke ExitProcess, 0 ; говорим windows-у что у нас программа закончилась
  ; то есть нужно программу закрыть (завершить)

section '.idata' data import readable ; секция импорта
        library kernel, 'kernel32.dll',\ ; тут немного сложней, объясню чуть позже
                msvcrt, 'msvcrt.dll'
  
  import kernel,\
  				ExitProcess, 'ExitProcess'
          
  import msvcrt,\
  				printf, 'printf',\
          getch, '_getch'

USER32.INC
struct WNDCLASS ;ошибка здеся
  style 	dd ?
  lpfnWndProc	dd ?
  cbClsExtra	dd ?
  cbWndExtra	dd ?
  hInstance	dd ?
  hIcon 	dd ?
  hCursor	dd ?
  hbrBackground dd ?
  lpszMenuName	dd ?
  lpszClassName dd ?
ends

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question