Вызов диалога открытия файла - Assembler
Формулировка задачи:
Всем доброго времени суток. Нужно по нажатию ПКМ - открывать диалог открытия файла, и получать имя выбранного файла. С ПКМ - в обработчик можно засунуть. А как диалог вызывать и получить с него информацию. Помогите, пожалуйста.
Смотрел как делать здесь, но не получилось перенести...
Решение задачи: «Вызов диалога открытия файла»
textual
Листинг программы
.data szFilter db "All Files",0,"*.*",0,0 szFileName db 256 dup (0) OPENFILENAME struct lStructSize dd 76 hwndOwner dd ? hInstance dd ? lpstrFilter dd ? lpstrCustomFilter dd ? nMaxCustFilter dd ? nFilterIndex dd ? lpstrFile dd ? nMaxFile dd ? lpstrFileTitle dd ? nMaxFileTitle dd ? lpstrInitialDir dd ? lpstrTitle dd ? Flags dd ? nFileOffset dd ? nFileExtension dd ? lpstrDefExt dd ? lCustData dd ? lpfnHook dd ? lpTemplateName dd ? OPENFILENAME ends ofn OPENFILENAME <> .code mov ofn.lpstrFilter, OFFSET szFilter mov ofn.lpstrFile, OFFSET buffer mov ofn.nMaxFile,256 call GetOpenFileNameA, offset ofn call MessageBox, [hwnd], offset ofn.lpstrFile,offset szTitleName,MB_OK mov eax, ofn.lpstrFile ;путь получаем с именем push ebx xor ebx,ebx mov ebx,ofn.nFileOffset ;смещение до имени файла? add eax,ebx pop ebx call lstrcat, offset OutputString, eax