Для демонстрации применения вышеприведенных функций
Для демонстрации применения вышеприведенных функций рассмотрим комплексный пример, в ходе которого продемонстрируем порядок вызова и анализа Е возвращаемых значений функциями API Win32 для работы с каталогами. Опре-
делим текущий каталог процесса, создадим новый каталог, сделаем его текущим удалим новый каталог, определим системный каталог и каталог Windows.
:prg07_35.asm - Win32-KOHCo/ibHoe приложение для исследования работы функций ;работы с каталогами API Win32.
.data
TitleText db 'Работа с каталогами в Win32',0
NewOir db "Новый каталог".0
dirjbuf db 50 dup ("?")
size_dir_buf=$-dir_buf
Parent db "..".0
.code
:определив текущий каталог
push offset dirjwf
push size_dir_buf
call GetCurrentDirectoryA
cmp eax.0
jz exit ;выход в случае неудачи :создадим каталог
push 0
push offset NewDir .
call CreateDirectoryA
cmp eax,0
jz exit :выход в случае неудачи ¦.сделаем новый каталог текущий
push offset NewDir
call SetCurrentDirectoryA
cmp eax.0
jz exit ;выход в случае неудачи
;проверим новый текущий каталог
push offset dir_buf
push size_dir_buf
call GetCurrentDirectoryA
cmp eax.0
jz exit .-выход в случае неудачи
;------.....SetCurrentDi rectory-..................-.........
:вернемся в родительский каталог
push offset Parent
call SetCurrentDirectoryA
cmp eax.0
jz exit ;выход в случае неудачи
;проверил новый текущий каталог
push offset dir_buf
push size_dir_buf
call GetCurrentDirectoryA
cmp eax.O
jz exit :выход в случае неудачи :удалим новый текущий каталог
push offset NewDir
call RemoveDirectoryA
cmp eax.O
jz exit ;выход в случае неудачи I определив системный каталог mov eax.size_dir_buf push eax
push offset dir_buf call GetSystemDirectoryA cmp eax.O
jz exit :выход в случае неудачи ¦.определим основной каталог Windows mov eax.size_d1r_buf push eax
push offset dir_buf call GetWindowsDirectoryA cmp eax.O
jz exit -.выход в случае неудачи результат смотрим в отладчике TD32.exe
Среди функций Win32, работающих с текущим каталогом, существует функция GetFuT I PathName, которая по имени файла формирует его полное имя, состоящее из пути от корневого каталога к текущему. Последний элемент этого имени — имя входного файла.
Содержание Назад Вперед