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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2010, 16:32   #1
semiono
Пользователь
 
Регистрация: 03.10.2010
Сообщений: 14
По умолчанию Как получить ошибку?



Меня как-то спросили return code? А я понятия не имею.
Вообщем нужен пример для контроля функций...

Код:
include '%fasm%\win32ax.inc'
section '.code' executable
start:
        ;ud2

        invoke GetLastError
        invoke FormatMessage,\
        FORMAT_MESSAGE_FROM_SYSTEM,\
        NULL,\
        [dwError],\
        LANG_ENGLISH+ SUBLANG_ENGLISH_US,\ ;        MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),\
        eax,\
        NULL,\
        NULL
        invoke MessageBox,NULL,eax,'',MB_OK
exit:
        invoke ExitProcess,NULL

.end start

section '.data' readable writable

        dwError dd ?
Почему MessageBox молчит? Что-то не так здесь? Подскажите.
Или же надо ошибку сначала спровоцировать в качестве примера?

Последний раз редактировалось semiono; 12.10.2010 в 16:36.
semiono вне форума Ответить с цитированием
Старый 12.10.2010, 22:28   #2
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Попробуйте так
Код:
format PE GUI 4.0

include 'C:\fasm\INCLUDE\win32ax.inc'
section '.code' executable
start:
;        invoke  CreateFile, 'notexist.txt', GENERIC_READ, FILE_SHARE_READ+FILE_SHARE_WRITE, 0,\
;                OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0
;       cmp     eax, INVALID_HANDLE_VALUE
;       jne     exit
        invoke GetLastError
        invoke  FormatMessage, FORMAT_MESSAGE_ALLOCATE_BUFFER or FORMAT_MESSAGE_FROM_SYSTEM, NULL, eax,\
                 0, dwError, 0, NULL
        invoke MessageBox,NULL,[dwError],0,MB_OK
exit:
        invoke ExitProcess,NULL

.end start

section '.data' readable writable

        dwError dd ?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WH_JOURNALRECORD. Как получить VirtualCode нажатой кнопки? Или как запустить toAscii только с ScanCode? TwiX Общие вопросы Delphi 7 09.06.2010 23:31
IdHTTP.Get Google выдает ошибку при попытке получить исходный текст dkdkdk Работа с сетью в Delphi 6 17.12.2009 16:23
Как получить капчу reyn90 Помощь студентам 0 14.06.2009 00:25
как получить время? Аlex Общие вопросы C/C++ 1 04.02.2009 21:25
Как получить путь к БД XPAiN БД в Delphi 2 08.11.2007 08:51