Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2017, 20:48   #1
rendalex
Новичок
Джуниор
 
Регистрация: 25.05.2017
Сообщений: 1
По умолчанию Не работает в последней Вижуал студии

Здравствуйте.
Мой код:

ExitProcess PROTO
DlgProc PROTO :QWORD,:QWORD, :QWORD, :QWORD
PostQuitMessage PROTO
GetModuleHandleA PROTO
DialogBoxParamA PROTO
GetDlgItemTextA PROTO
SendDlgItemMessageA PROTO
;изменение в адресах
includelib \masm32\lib\windows.inc


.data
DName db "dial",0
hinst dq ?
result_buffer db 20 dup ("0")

hwnd dq 0
uMsg dq 0
wParam dq 0
lParam dq 0

.code
main proc
sub rsp, 56

mov rcx,0
call GetModuleHandleA
mov hinst,rax

mov rcx,hinst
lea rdx, DName
mov r8,0
lea r9,DlgProc
mov dword ptr [rsp+32], 0
call DialogBoxParamA
mov rcx,0
call ExitProcess
main endp

DlgProc proc q:QWORD,w:QWORD, e:QWORD, r:QWORD
cmp edx, WM_CLOSE ;10h
je Exit_Button

cmp edx, WM_COMMAND ;111h
je go_button
jne End_it

go_button:
cmp r8,4
je Exit_Button
cmp r8,3
je next
jne End_it

next:
mov hwnd,rcx
mov uMsg,rdx
mov wParam,r8
mov lParam,r9

mov rdx,1
lea r8,result_buffer
mov r9,20
call GetDlgItemTextA

mov rcx, hwnd
mov rdx, uMsg
mov r8, wParam
mov r9, lParam

mov hwnd,rcx

mov rcx,rax
lea rsi,result_buffer
m1:
cmp byte ptr [rsi],'*'
je m2
jne m3
m2:
mov byte ptr [rsi],' '
m3:
inc rsi
loop m1

mov rcx,hwnd

mov rdx,2
mov r8,LB_DELETESTRING ; 182h - LB_DELETESTRING
mov r9,0
lea rsi,result_buffer
mov qword ptr [rsp+32],rsi
call SendDlgItemMessageA

mov rcx, hwnd
mov rdx, uMsg
mov r8, wParam
mov r9, lParam

mov rdx,2
mov r8,LB_ADDSTRING ; 182h - LB_DELETESTRING
mov r9,0
lea rsi,result_buffer
mov qword ptr [rsp+32],rsi
call SendDlgItemMessageA
jmp End_it

Exit_Button:
mov rcx,0
call PostQuitMessage

End_it:
mov rax,0
ret
DlgProc endp
end


Программа прекрасно запускается в старой вижуал студии, но на 15-ой выдает следующие фатальные ошибки:
undefined symbol: WM_COMMAND, WM_CLOSE, LB_DELETESTRING, LB_ADDSTRING
Играюсь с этим уже второй день, наверное библиотеки какой-нть не хватает.
Надеюсь на вашу помощь.
rendalex вне форума Ответить с цитированием
Старый 25.05.2017, 21:17   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
includelib \masm32\lib\windows.inc
Что это? Инклудлиб, естественно, для либ. Если там действительно windows.inc, то нужен include.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лицензия разработчика в вижуал студии 2012 ИринаКожедуб Общие вопросы .NET 2 13.02.2017 15:58
Поменять все элементы первой строки с элементами последней! (разобраться, почему программа не работает) Виталик124 Паскаль, Turbo Pascal, PascalABC.NET 5 23.02.2014 11:21
Анкета на вижуал бейсик akimov885 Помощь студентам 1 14.12.2012 20:32
вижуал с++ связанный граф KANDRAT Общие вопросы C/C++ 0 22.03.2012 23:08
Вопросы по вижуал студии XLBaron Visual C++ 5 13.01.2011 18:57