Keresés

Új hozzászólás Aktív témák

  • pmonitor

    aktív tag

    válasz pmonitor #15512 üzenetére

    "Error A2026 constant expected include\winextra.inc 11052"

    Ezt a hibát írta ki a 11052 és a 11053 sorra a winextra.inc file-ban.
    STD_ALERT struct
    alrt_timestamp dd ?
    alrt_eventname WCHAR [EVLEN + 1] dup (?)
    alrt_servicename WCHAR [SNLEN + 1] dup (?)
    STD_ALERT ends

    ha kommentbe teszem a következő 2 sort:
    alrt_eventname WCHAR [EVLEN + 1] dup (?)
    alrt_servicename WCHAR [SNLEN + 1] dup (?)

    akkor működik. Csak azt nem tudom, hogy ezt miért nem fogadja el. De az a lényeg, hogy működőképes lett a program. Már ez is műxik.
    ; We access the MangaEden API and request a list of the first 25 available manga. I used a buffer size of 5000, but feel free to modify it.
    ; I basically learned ASM today, just felt like posting this somewhere.

    .386
    .model flat, stdcall
    option casemap:none

    ; Includes
    include include\windows.inc
    include include\kernel32.inc
    includelib lib\kernel32.lib
    include include\user32.inc
    includelib lib\user32.lib
    include include\wininet.inc
    includelib lib\wininet.lib
    WinMain proto :DWORD,:DWORD,:DWORD,:DWORD

    ; Initialized data
    .data
    AppName db "GUI App with Buttons",0
    ClassName db "Class of GUI",0
    ButtonClass db "button",0
    ButtonText db "Kattints rám!",0
    strTitle db "Cím",0
    strMessage db "Hello world!",0
    fhwnd dd 0
    hwndButton dd 0

    .data?
    hInstance HINSTANCE ?
    CommandLine LPSTR ?

    .const
    ButtonID equ 1

    .code


    start:
    invoke GetModuleHandle,0
    mov hInstance, eax

    invoke GetCommandLine
    mov CommandLine, eax
    invoke WinMain, hInstance,0, CommandLine, SW_SHOWDEFAULT

    ;invoke MessageBox, 0, ADDR strMessage, ADDR strTitle, MB_OK
    invoke ExitProcess, 0
    ;end start

    WinMain proc hInst:HINSTANCE, hPrevInst:HINSTANCE, CmdLine:LPWSTR, CmdShow:DWORD

    local wc:WNDCLASSEX
    ;local fhwnd:HWND
    local msg:MSG

    mov wc.cbSize, SIZEOF WNDCLASSEX
    mov wc.style, CS_HREDRAW or CS_VREDRAW
    mov wc.lpfnWndProc, offset WndProc
    mov wc.hbrBackground, COLOR_BTNFACE+1
    push hInst
    pop wc.hInstance
    mov wc.lpszMenuName,0
    mov wc.lpszClassName, offset ClassName
    invoke LoadIcon, 0, IDI_APPLICATION
    mov wc.hIcon, eax
    mov wc.hIconSm, eax
    invoke LoadCursor, 0, IDC_ARROW
    mov wc.hCursor, eax
    invoke RegisterClassEx, addr wc
    invoke CreateWindowEx, 0, \
    addr ClassName, \
    addr AppName, \
    WS_OVERLAPPEDWINDOW, \
    CW_USEDEFAULT, \
    CW_USEDEFAULT, \
    500, \
    500, \
    0, \
    0, \
    hInst, \
    0
    mov fhwnd, eax

    invoke ShowWindow, fhwnd, CmdShow
    invoke UpdateWindow, fhwnd

    .While 1
    invoke GetMessage, addr msg, 0, 0, 0
    .BREAK .IF (!eax)
    invoke TranslateMessage, addr msg
    invoke DispatchMessage, addr msg
    .ENDW
    mov eax, msg.wParam

    RET
    WinMain endp

    WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
    .if uMsg==WM_DESTROY
    invoke PostQuitMessage, 0
    .elseif uMsg==WM_CREATE
    invoke CreateWindowEx, 0, addr ButtonClass, addr ButtonText, \
    WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, \
    170, 100, 140, 25, hWnd, ButtonID, hInstance, 0
    mov hwndButton, eax
    .elseif uMsg==WM_COMMAND
    mov eax, wParam
    shr eax, 16
    .if eax==BN_CLICKED
    mov eax, lParam
    .if eax==hwndButton
    invoke MessageBox, 0, ADDR strMessage, ADDR strTitle, MB_OK
    .endif
    .endif
    .else
    invoke DefWindowProc, hWnd, uMsg, wParam, lParam
    ret
    .endif
    xor eax, eax
    RET
    WndProc endp

    end start

Új hozzászólás Aktív témák