Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание формы 
:(
    Опции темы
kostik_16
  Дата 21.12.2003, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 23.7.2003

Репутация: нет
Всего: 1



Как возможно создать простейшую ворму с помошью CreateWindowExA?
Вот я пробывал, но уменя не получилось:

push 0
push 0 confused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gif?
push 0
push 0
mov edi,[esp+4*5]
lea ebx, [edi + @CW_USEDEFAULT]
push ebx
push ebx
push ebx
push ebx
lea ebx, [edi + @WS_OVERLAPPEDWINDOW]
push ebx
lea ebx, [edi + @AppName]
push ebx
lea ebx, [edi + @ClassName]
push ebx
push 0h
call eax в eax содержиться CreateWindowExA

@CW_USEDEFAULT: db 'CW_USEDEFAULT',0
@WS_OVERLAPPEDWINDOW: db 'WS_OVERLAPPEDWINDOW',0
@AppName: db 'Our First Window',0
@ClassName: db 'SimpleWinClass',0

Если можете, то исправте ошибки
PM MAIL   Вверх
oleg1973
Дата 21.12.2003, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



kostik_16
а кто будет делать invoke RegisterClass,wc а ?



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
kostik_16
Дата 22.12.2003, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 23.7.2003

Репутация: нет
Всего: 1



У меня есть исходник, как его переделать на Delphi??? Я имею в виду на синтаксис Delphi???
Цитата

.386
.model flat,stdcall
option casemap:none
WinMain proto :DWORD,:DWORD,:DWORD,:DWORD
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data
ClassName db "SimpleWinClass",0
AppName  db "Our First Window",0
MenuName db "FirstMenu",0
ButtonClassName db "button",0
ButtonText db "My First Button",0
EditClassName db "edit",0
TestString db "Wow! I'm in an edit box now",0

.data?
hInstance HINSTANCE ?
CommandLine LPSTR ?
hwndButton HWND ?
hwndEdit HWND ?
buffer db 512 dup(?)

.const
ButtonID equ 1
EditID equ 2
IDM_HELLO equ 1
IDM_CLEAR equ 2
IDM_GETTEXT equ 3
IDM_EXIT equ 4

.code
start:
invoke GetModuleHandle, NULL
mov    hInstance,eax
invoke GetCommandLine
invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT
invoke ExitProcess,eax
WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
LOCAL wc:WNDCLASSEX
LOCAL msg:MSG
LOCAL hwnd:HWND
mov  wc.cbSize,SIZEOF WNDCLASSEX
mov  wc.style, CS_HREDRAW or CS_VREDRAW
mov  wc.lpfnWndProc, OFFSET WndProc
mov  wc.cbClsExtra,NULL
mov  wc.cbWndExtra,NULL
push  hInst
pop  wc.hInstance
mov  wc.hbrBackground,COLOR_BTNFACE+1
mov  wc.lpszMenuName,OFFSET MenuName
mov  wc.lpszClassName,OFFSET ClassName
invoke LoadIcon,NULL,IDI_APPLICATION
mov  wc.hIcon,eax
mov  wc.hIconSm,eax
invoke LoadCursor,NULL,IDC_ARROW
mov  wc.hCursor,eax
invoke RegisterClassEx, addr wc
INVOKE CreateWindowEx,WS_EX_CLIENTEDGE,ADDR ClassName,ADDR AppName,\
          WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,\
          CW_USEDEFAULT,300,200,NULL,NULL,\
          hInst,NULL
mov  hwnd,eax
INVOKE ShowWindow, hwnd,SW_SHOWNORMAL
INVOKE UpdateWindow, hwnd
.WHILE TRUE
                INVOKE GetMessage, ADDR msg,NULL,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,NULL
.ELSEIF uMsg==WM_CREATE
  invoke CreateWindowEx,WS_EX_CLIENTEDGE, ADDR EditClassName,NULL,\
                        WS_CHILD or WS_VISIBLE or WS_BORDER or ES_LEFT or\
                        ES_AUTOHSCROLL,\
                        50,35,200,25,hWnd,EditID,hInstance,NULL
  mov  hwndEdit,eax
  invoke SetFocus, hwndEdit
  invoke CreateWindowEx,NULL, ADDR ButtonClassName,ADDR ButtonText,\
                        WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON,\
                        75,70,140,25,hWnd,ButtonID,hInstance,NULL
  mov  hwndButton,eax
.ELSEIF uMsg==WM_COMMAND
  mov eax,wParam
  .IF lParam==0
  .IF ax==IDM_HELLO
    invoke SetWindowText,hwndEdit,ADDR TestString
    invoke SendMessage,hwndEdit,WM_KEYDOWN,VK_END,NULL
  .ELSEIF ax==IDM_CLEAR
    invoke SetWindowText,hwndEdit,NULL
  .ELSEIF  ax==IDM_GETTEXT
    invoke GetWindowText,hwndEdit,ADDR buffer,512
    invoke MessageBox,NULL,ADDR buffer,ADDR AppName,MB_OK
  .ELSE
    invoke DestroyWindow,hWnd
  .ENDIF
  .ELSE
  .IF ax==ButtonID
    shr eax,16
    .IF ax==BN_CLICKED
    invoke SendMessage,hWnd,WM_COMMAND,IDM_GETTEXT,0
    .ENDIF
  .ENDIF
  .ENDIF
.ELSE
  invoke DefWindowProc,hWnd,uMsg,wParam,lParam
  ret
.ENDIF
xor    eax,eax
ret
WndProc endp
end start

PM MAIL   Вверх
oleg1973
Дата 23.12.2003, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



а зачем в дельфи это делать?
там вроде и нарисовать можно


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
kostik_16
Дата 23.12.2003, 07:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 23.7.2003

Репутация: нет
Всего: 1



Я процедуку прикрепляю к другому файлу, вот для этого и надо с помошью АПИ вызывать форму, без этого никак!
PM MAIL   Вверх
kostik_16
Дата 24.12.2003, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 23.7.2003

Репутация: нет
Всего: 1



Кто может оптимизировать мой код под Delphi???
PM MAIL   Вверх
kostik_16
Дата 26.12.2003, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 23.7.2003

Репутация: нет
Всего: 1



confused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gifconfused.gif?
PM MAIL   Вверх
oleg1973
Дата 26.12.2003, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



; template for program using standard Win32 headers

format PE GUI 4.0
entry start

include '%fasminc%\win32a.inc'

section '.data' data readable writeable

_title db 'Win32 program template',0
_class db 'FASMWIN32',0

mainhwnd dd ?
hinstance dd ?

msg MSG
wc WNDCLASS

section '.code' code readable executable

start:

invoke GetModuleHandle,0
mov [hinstance],eax
invoke LoadIcon,0,IDI_APPLICATION
mov [wc.hIcon],eax
invoke LoadCursor,0,IDC_ARROW
mov [wc.hCursor],eax
mov [wc.style],0
mov [wc.lpfnWndProc],WindowProc
mov [wc.cbClsExtra],0
mov [wc.cbWndExtra],0
mov eax,[hinstance]
mov [wc.hInstance],eax
mov [wc.hbrBackground],COLOR_BTNFACE+1
mov [wc.lpszMenuName],0
mov [wc.lpszClassName],_class
invoke RegisterClass,wc

invoke CreateWindowEx,0,_class,_title,WS_VISIBLE+WS_DLGFRAME+WS_SYSMENU,128,128,192,192,NULL,NULL,[hinstance],NULL
mov [mainhwnd],eax

msg_loop:
invoke GetMessage,msg,NULL,0,0
or eax,eax
jz end_loop
invoke TranslateMessage,msg
invoke DispatchMessage,msg
jmp msg_loop

end_loop:
invoke ExitProcess,[msg.wParam]

proc WindowProc, hwnd,wmsg,wparam,lparam
enter
push ebx esi edi
cmp [wmsg],WM_DESTROY
je wmdestroy
defwndproc:
invoke DefWindowProc,[hwnd],[wmsg],[wparam],[lparam]
jmp finish
wmdestroy:
invoke PostQuitMessage,0
xor eax,eax
finish:
pop edi esi ebx
return

section '.idata' import data readable writeable

library kernel,'KERNEL32.DLL',\
user,'USER32.DLL'

import kernel,\
GetModuleHandle,'GetModuleHandleA',\
ExitProcess,'ExitProcess'

import user,\
RegisterClass,'RegisterClassA',\
CreateWindowEx,'CreateWindowExA',\
DefWindowProc,'DefWindowProcA',\
GetMessage,'GetMessageA',\
TranslateMessage,'TranslateMessage',\
DispatchMessage,'DispatchMessageA',\
LoadCursor,'LoadCursorA',\
LoadIcon,'LoadIconA',\
PostQuitMessage,'PostQuitMessage'



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
p0s0l
Дата 27.12.2003, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 2
Всего: 112



Вот, перевел, проверял - работает...
Код
procedure AsmProc; assembler;
const
 API_size      = 15;
 ButtonID      = 1;
 EditID        = 2;
 IDM_HELLO     = 1;
 IDM_CLEAR     = 2;
 IDM_GETTEXT   = 3;
 IDM_EXIT      = 4;
 SIZEOF_WNDCLASSEX = SizeOf(WNDCLASSEX);

asm
 pushad
 call    @Delta
@Delta:
 pop     ebp
 sub     ebp, offset @Delta

 mov     eax, [ebp + @CallAdr]
 mov     [esp + 1ch], eax

 xor     edx, edx
 mov     eax, fs:[edx]
 dec     edx

@_SearchK32:
 cmp     [eax], edx
 je      @_CheckK32
 mov     eax, dword [eax]
 jmp     @_SearchK32

@_CheckK32:
 mov     eax, [eax+4]
 xor     ax, ax

@_SearchMZ:
cmp     word ptr [eax],5A4Dh
je      @_CheckMZ
sub     eax,10000h
jmp     @_SearchMZ

@_CheckMZ:
mov     edx, [eax+3ch]
 add     edx, eax
cmp     word ptr [edx],4550h
jne     @_Exit

//****************************************

 mov     edi, eax
 mov     esi, edx

@Get_Api:
 mov     [ebp + @hKernel], edi
 add     esi, 78h
 mov     ebx, [esi]
 add     ebx, edi

 mov     esi, [ebx + 18h]
 mov     [ebp + @NumberOfNames], esi
 mov     edx, esi

 mov     esi, [ebx + 1ch]
 add     esi, edi
 mov     [ebp + @ExportAddressTable], esi

 mov     esi, [ebx + 20h]
 add     esi, edi
 mov     [ebp + @ExportNameTableP], esi

 mov     esi, [ebx + 24h]
 add     esi, edi
 mov     [ebp + @ExportOrdinalTable], esi

 xor     ebx, ebx
 mov     esi, [ebp + @ExportNameTableP]

@Search_Api:
 mov     [ebp + @Index], esi
 mov     esi, [esi]
 add     esi, [ebp + @hKernel]
 lea     edi, [ebp + @strGetProcAddress]
 mov     ecx, API_size
 repe    cmpsb
 je      @Get_Addr
 add     dword ptr [ebp + @Index], 4
 mov     esi, [ebp + @Index]
 inc     ebx
 cmp     ebx, edx
 jge     @_exit
 jmp     @Search_Api

@Get_Addr:
 xchg    eax, ebx
 mov     ebx, 2
 mul     ebx
 mov     esi, [ebp + @ExportOrdinalTable]
 add     esi, eax

 xor     eax, eax
 mov     ax, word ptr [esi]
 mov     ecx, 4
 mul     ecx
 mov     esi, [ebp + @ExportAddressTable]
 add     esi, eax
 lodsd
 add     eax, dword ptr [ebp + @hKernel]
 mov     [ebp + @GPA], eax

////////////////////////////////////////////////////////////////////////////////
// Начало рабочего кода
////////////////////////////////////////////////////////////////////////////////

// Подключение "user32.dll"
 lea     ecx, [ebp + @strUser32Dll]
 push    ecx
 lea     eax, [ebp + @strLoadLibrary]
 call    @KernelDllProc
 mov     [ebp + @hUser32], eax

 push    0
 lea     eax, [ebp + @strGetModuleHandle]
 call    @KernelDllProc
 mov     [ebp + @hInstance], eax

@WinMain:
 lea     eax, [ebp + @wc]/////
 mov     [vvv], eax      //////

// Заполнение структуры класса окна
 mov     dword ptr [ebp + @wc + WNDCLASSEX.cbSize], SIZEOF_WNDCLASSEX
 mov     dword ptr [ebp + @wc + WNDCLASSEX.Style], CS_HREDRAW or CS_VREDRAW
 lea     eax, [ebp + @WndProc]
 mov     dword ptr [ebp + @wc + WNDCLASSEX.lpfnWndProc], eax
 mov     dword ptr [ebp + @wc + WNDCLASSEX.cbClsExtra], 0
 mov     dword ptr [ebp + @wc + WNDCLASSEX.cbWndExtra], 0
 push    dword ptr [ebp + @hInstance]
 pop     dword ptr [ebp + @wc + WNDCLASSEX.hInstance]
 mov     dword ptr [ebp + @wc + WNDCLASSEX.hbrBackground], COLOR_BTNFACE+1
 lea     eax, [ebp + @MenuName]
 mov     dword ptr [ebp + @wc + WNDCLASSEX.lpszMenuName], 0//eax
 lea     eax, [ebp + @ClassName]
 mov     dword ptr [ebp + @wc + WNDCLASSEX.lpszClassName], eax

// Установка иконки
 push    32512 // IDI_APPLICATION
 push    0
 lea     eax, [ebp + @strLoadIcon]
 call    @UserDllProc
 mov     dword ptr [ebp + @wc + WNDCLASSEX.hIcon], eax
 mov     dword ptr [ebp + @wc + WNDCLASSEX.hIconSm], 0//eax

// Установка курсора
 push    32512 // IDC_ARROW
 push    0
 lea     eax, [ebp + @strLoadCursor]
 call    @UserDllProc
 mov     dword ptr [ebp + @wc + WNDCLASSEX.hCursor], eax

// Регистрация класса окна
 lea     eax, [ebp + @wc]
 push    eax
 lea     eax, [ebp + @strRegisterClassEx]
 call    @UserDllProc

// Создание окна
 push    0
 push    dword ptr [ebp + @hInstance]
 push    0
 push    0
 push    200
 push    300
 push    CW_USEDEFAULT
 push    CW_USEDEFAULT
 push    WS_VISIBLE+WS_DLGFRAME+WS_SYSMENU//WS_OVERLAPPEDWINDOW
 lea     eax, [ebp + @AppName]
 push    eax
 lea     eax, [ebp + @ClassName]
 push    eax
 push    WS_EX_CLIENTEDGE
 lea     eax, [ebp + @strCreateWindowEx]
 call    @UserDllProc
 mov     [ebp + @hwnd], eax

// Показать окно
 push    SW_SHOWNORMAL
 push    dword ptr [ebp + @hwnd]
 lea     eax, [ebp + @strShowWindow]
 call    @UserDllProc

// Обновить содержимое окна
 push    dword ptr [ebp + @hwnd]
 lea     eax, [ebp + @strUpdateWindow]
 call    @UserDllProc

// Цикл очереди сообщений
@While1:
 push    0
 push    0
 push    0
 lea     eax, [ebp + @msg]
 push    eax
 lea     eax, [ebp + @strGetMessage]
 call    @UserDllProc

 test    eax, eax
 jz      @Break1

 lea     eax, [ebp + @msg]
 push    eax
 lea     eax, [ebp + @strTranslateMessage]
 call    @UserDllProc

 lea     eax, [ebp + @msg]
 push    eax
 lea     eax, [ebp + @strDispatchMessage]
 call    @UserDllProc

 jmp     @While1

@Break1:
 jmp     @_Exit

// Оконная процедура
// WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
@WndProc:
 push    ebp

 call    @Delta2
@Delta2:
 pop     ebp
 sub     ebp, offset @Delta2

// Параметры, передаваемые функции
 mov     eax, [esp + 14h]
 mov     [ebp + @_lParam], eax
 mov     eax, [esp + 10h]
 mov     [ebp + @_wParam], eax
 mov     eax, [esp + 0Ch]
 mov     [ebp + @_uMsg], eax
 mov     eax, [esp + 08h]
 mov     [ebp + @_hWnd], eax

 cmp     dword ptr [ebp + @_uMsg], WM_DESTROY
 jnz     @ELSEIF1

 push    0
 lea     eax, [ebp + @strPostQuitMessage]
 call    @UserDllProc
 jmp     @ENDIF1

@ELSEIF1:
 cmp     dword ptr [ebp + @_uMsg], WM_CREATE
 jnz     @ELSEIF2

// Создание поля ввода
 push    0
 push    dword ptr [ebp + @hInstance]
 push    EditID
 push    dword ptr [ebp + @_hWnd]
 push    25
 push    200
 push    35
 push    50
 push    WS_CHILD or WS_VISIBLE or WS_BORDER or ES_LEFT or ES_AUTOHSCROLL
 push    0
 lea     eax, [ebp + @EditClassName]
 push    eax
 push    WS_EX_CLIENTEDGE
 lea     eax, [ebp + @strCreateWindowEx]
 call    @UserDllProc
 mov     [ebp + @hwndEdit], eax

// Установить фокус на поле ввода
 push    dword ptr [ebp + @hwndEdit]
 lea     eax, [ebp + @strSetFocus]
 call    @UserDllProc

// Создание кнопки
 push    0
 push    dword ptr [ebp + @hInstance]
 push    ButtonID
 push    dword ptr [ebp + @_hWnd]
 push    25
 push    140
 push    70
 push    75
 push    WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON
 lea     eax, [ebp + @ButtonText]
 push    eax
 lea     eax, [ebp + @ButtonClassName]
 push    eax
 push    0
 lea     eax, [ebp + @strCreateWindowEx]
 call    @UserDllProc
 mov     [ebp + @hwndButton], eax

 jmp     @ENDIF1

@ELSEIF2:
 cmp     dword ptr [ebp + @_uMsg], WM_COMMAND
 jnz     @ELSEIF3

 mov     eax, [ebp + @_wParam]
 cmp     dword ptr [ebp + @_lParam], 0
 jnz     @ELSEIF2_1

// lParam == 0

 cmp     ax, IDM_HELLO
 jnz     @ELSEIF2_1_1

 lea     eax, [ebp + @TestString]
 push    eax
 push    dword ptr [ebp + @hwndEdit]
 lea     eax, [ebp + @strSetWindowText]
 call    @UserDllProc
 jmp     @ENDIF2_1

@ELSEIF2_1_1:
 cmp     ax, IDM_CLEAR
 jnz     @ELSEIF2_1_2

 push    0
 push    dword ptr [ebp + @hwndEdit]
 lea     eax, [ebp + @strSetWindowText]
 call    @UserDllProc
 jmp     @ENDIF2_1

@ELSEIF2_1_2:
 cmp     ax, IDM_GETTEXT
 jnz     @ELSEIF2_1_3

 push    512
 lea     eax, [ebp + @buffer]
 push    eax
 push    dword ptr [ebp + @hwndEdit]
 lea     eax, [ebp + @strGetWindowText]
 call    @UserDllProc

 push    MB_OK
 lea     eax, [ebp + @AppName]
 push    eax
 lea     eax, [ebp + @buffer]
 push    eax
 push    dword ptr [ebp + @hwndEdit]
 lea     eax, [ebp + @strMessageBox]
 call    @UserDllProc
 jmp     @ENDIF2_1

@ELSEIF2_1_3:
 push    dword ptr [@hWnd]
 lea     eax, [ebp + @strDestroyWindow]
 call    @UserDllProc
 jmp     @ENDIF2_1

@ENDIF2_1:
 jmp     @ENDIF1

// lParam <> 0
@ELSEIF2_1:
 cmp     ax, ButtonID
 jnz     @ELSEIF2_2

 shr     eax, 16
 cmp     eax, BN_CLICKED
 jnz     @ENDIF2_2

 push    0
 push    IDM_GETTEXT
 push    WM_COMMAND
 push    dword ptr [ebp + @_hWnd]
 lea     eax, [ebp + @strSendMessage]
 call    @UserDllProc

@ELSEIF2_2:
@ENDIF2_2:
 jmp     @ENDIF1

@ELSEIF3:
 push    dword ptr [ebp + @_lParam]
 push    dword ptr [ebp + @_wParam]
 push    dword ptr [ebp + @_uMsg]
 push    dword ptr [ebp + @_hWnd]
 lea     eax, [ebp + @strDefWindowProc]
 call    @UserDllProc
 jmp     @_Exit2

@ENDIF1:
 xor     eax, eax
@_Exit2:
 pop     ebp
 ret

@_Exit:
 popad
 jmp     eax

@KernelDllProc:
 push    eax
 mov     eax, [ebp + @hKernel]
 push    eax
 call    [ebp + @GPA]
 jmp     eax

@UserDllProc:
 push    eax
 mov     eax, [ebp + @hUser32]
 push    eax
 call    [ebp + @GPA]
 jmp     eax

@NumberOfNames:       dd 0
@ExportAddressTable:  dd 0
@ExportNameTableP:    dd 0
@ExportOrdinalTable:  dd 0
@Index:               dd 0
@strGetProcAddress:   db 'GetProcAddress', 0 // API_Size = 15
@GPA:                 dd 0

@strLoadLibrary:      db 'LoadLibraryA', 0
@strUser32Dll:        db 'user32.dll', 0
@strMessageBox:       db 'MessageBoxA', 0
@strGetModuleHandle:  db 'GetModuleHandleA', 0
@strGetCommandLine:   db 'GetCommandLineA', 0
@strLoadIcon:         db 'LoadIconA', 0
@strLoadCursor:       db 'LoadCursorA', 0
@strRegisterClassEx:  db 'RegisterClassExA', 0
@strCreateWindowEx:   db 'CreateWindowExA', 0
@strShowWindow:       db 'ShowWindow', 0
@strUpdateWindow:     db 'UpdateWindow', 0
@strGetMessage:       db 'GetMessageA', 0
@strTranslateMessage: db 'TranslateMessage', 0
@strDispatchMessage:  db 'DispatchMessageA', 0
@strPostQuitMessage:  db 'PostQuitMessage', 0
@strSetFocus:         db 'SetFocus', 0
@strSetWindowText:    db 'SetWindowTextA', 0
@strGetWindowText:    db 'GetWindowTextA', 0
@strDestroyWindow:    db 'DestroyWindow', 0
@strDefWindowProc:    db 'DefWindowProcA', 0
@strSendMessage:      db 'SendMessageA', 0
@strGetLastError:     db 'GetLastError', 0

@hKernel:             dd 0
@hUser32:             dd 0
@hInstance:           dd 0

@wc:                  dd 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
@msg:                 dd 0, 0, 0, 0, 0, 0, 0
@hwnd:                dd 0

@_hWnd:               dd 0
@_uMsg:               dd 0
@_wParam:             dd 0
@_lParam:             dd 0

@ClassName:           db 'SimpleWndClass', 0
@AppName:             db 'Our First Window', 0
@MenuName:            db 'FirstMenu', 0
@ButtonClassName:     db 'button', 0
@ButtonText:          db 'My First Button', 0
@EditClassName:       db 'edit', 0
@TestString:          db 'Wow! Im in an edit box now', 0

@CommandLine:         dd 0
@hwndButton:          dd 0
@hwndEdit:            dd 0
@buffer:              dd 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                     dd 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                     dd 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                     dd 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                     dd 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                     dd 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                     dd 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                     dd 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

@CallAdr:             dd EndOfProcID
end;




--------------------
С уважением, г-н Посол.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1658 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.