· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Где тут ошибка???

Посл.отвђт Сообщенiе


Дата: Июн 22, 2003 14:06:01

include '%include%/win32ax.inc'

.code

dopen OPENFILENAME
_filter db 'All Files(*.*)',0
db '*.*',0
string rb 256
start:


mov [dopen.lStructSize],sizeof.OPENFILENAME
invoke GetDesktopWindow
mov [dopen.hwndOwner],eax
invoke GetModuleHandle,0
mov [dopen.hInstance],eax
mov [dopen.lpstrFilter],_filter
mov [dopen.lpstrCustomFilter],NULL
mov [dopen.nFilterIndex],1
mov [dopen.lpstrFile],string
mov [dopen.nMaxFile],1
mov [dopen.lpstrInitialDir],NULL
mov [dopen.Flags],OFN_HIDEREADONLY+OFN_NOCHANGEDIR+OFN_PATHMUSTEXIST+OFN_S HAREAWARE+OFN_EXPLORER
invoke GetOpenFileName,dopen
invoke MessageBox,HWND_DESKTOP,string,"Win32 Assembly",MB_OK
invoke ExitProcess,0

.end start



Этот код под FASM 1.46.9.6


Дата: Июн 22, 2003 16:12:11

ну во первых filter должен выглядеть так:
название0,0,шаблон0,0,\
название1,0,шаблон1,0,\
название2,0,шаблон2,0,\
....
0
то есть в конце должен быть еще один нуль

во вторых nFilterIndex это не количество фильтров, а номер текущего фильтра(нумеруются с нуля)

и в третьих nMaxFile это длина строки в которуб будет записано имя файла


Дата: Июн 22, 2003 19:45:39

Black_mirror
Не согласен
szFilter db 'Файлы каталогов (*.ktl)',0,'*.ktl',0,0
Аноним
Вот работающий пример:
mov eax,[ofn.size]
mov [ofn.lStructSize], eax
mov eax,[hwnd]
mov [ofn.hwndOwner],eax
mov eax,[hinstance]
mov [ofn.hInstance],eax
mov eax,szFilter
mov [ofn.lpstrFilter],eax
mov eax,szFileName
mov [ofn.lpstrFile],eax
mov [ofn.nMaxFile],1000
mov eax,lpTitleSave
mov [ofn.lpstrTitle], eax
mov [ofn.lpstrInitialDir],szInitDir
mov [ofn.Flags],OFN_FILEMUSTEXIST+OFN_LONGNAMES+OFN_EXPLORER+OFN_HIDEREADO NLY
invoke GetSaveFileName,ofn
С уважением, pas.


Дата: Июн 23, 2003 00:45:23

Всем большое спасибо!!!
Особенно Black_mirror - у меня не работалло из за nMaxFile.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.090