MessageBox mit reinem Assembler



  • Hallo,

    Könnte man mit reinem Assembler ohne irgendwelche Include Geschichten z.b. eine MessageBox Programmiern?

    Weil hier wird ja auch so einiges Includet und ich kannte das bisher auch nur mit den Includes.

    Ich würde halt gerne mal so die Hintergründe davon verstehen ...

    http://win32assembly.online.fr/tut2.html

    Assembler Code:

    .386
    .model flat,stdcall
    option casemap:none
    include \masm32\include\windows.inc
    include \masm32\include\kernel32.inc
    includelib \masm32\lib\kernel32.lib
    include \masm32\include\user32.inc
    includelib \masm32\lib\user32.lib
    
    .data
    MsgBoxCaption  db "Iczelion Tutorial No.2',0
    MsgBoxText       db "Win32 Assembly is Great!',0
    
    .code
    start:
          invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
          invoke ExitProcess, NULL
    end start
    


  • Achtung - Spitzfindigkeit:
    Ja, geht. Frag mich zwar nicht nach Details, aber im Prinzip sollte es auch mit dem MASM moeglich sein, MessageBox und ExitProcess als extern zu deklarieren und statt den restlichen Konstanten wie MB_OK einfach die entsprechenden Zahlen hin zu schreiben. Dann brauchst du nichts mehr inkludieren...
    Musst allerdings nach wie vor zumindest gegen die kernel32.dll linken.

    In Windows-Programmen kommst du ohne externe Funktionen nicht aus, da du iaR. keinen Zugriff auf periphere Hardware hast.


Anmelden zum Antworten