Вылет программы при попытке открыть файл - Assembler

Узнай цену своей работы

Формулировка задачи:

Добрый день. Столкнулся с такой ситуёвиной. При попытке открыть файл функцией CreateFile если в "как действовать" установлено OPEN_EXISTING программа завершается системой (Windows 7 64). Никаких тебе ERROR_FILE_NOT_FOUND и прочих СОСИ_КЕГЛИ выводить не пытается. При наличие файла всё отрабатывает как надо, так что в сторону того что где то ноль или байт какой не довсунул уже и думать устал. Если кто то может что подсказать с меня лимонад и печенька.
format PE GUI 4.0
entry Start
 
include 'win32a.inc'
section '.text' code readable executable
 
Start:
invoke CreateFile,File_Name,GENERIC_READ+GENERIC_WRITE,FILE_SHARE_READ,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
  cmp eax,INVALID_HANDLE_VALUE
  je Error
  jmp MesOk
MesError:
  invoke MessageBox, NULL, Error, NULL, MB_ICONERROR + MB_OK
MesOk:
  invoke MessageBox, NULL, Ok, Title, MB_OK
  invoke ExitProcess,0
 
section '.data' data readable writeable
 
  Title db 'Title', 0
  Ok db 'Ok',0
  Error db 'ОШИБКА!', 0
  File_Name db 'Test.txt',0
 
section '.idata' import data readable writeable
 
  library kernel32, 'KERNEL32.DLL',user32, 'USER32.DLL'
  include 'api\kernel32.inc'
  include 'api\user32.inc'

Решение задачи: «Вылет программы при попытке открыть файл»

textual
Листинг программы
je Error
.....
Error db 'ОШИБКА!', 0

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы