Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

GetOpenFilename и GetSaveFileName глючат... - программа вылетает

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> GetOpenFilename и GetSaveFileName глючат... - программа вылетает
Имя
Сообщение << Старые топики   Новые топики >>
GetOpenFilename и GetSaveFileName глючат... - программа вылетает - 2007-12-08 00:03:45.740000   
Necromancer13

Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
пишу я программу, которая преобразования файла в
db XXX,XXX,XXX,XXX,XXX,XXX,XXX
db XXX,XXX,XXX,XXX,XXX,XXX,XXX
и т.д…..

я понимаю, что таких программ много, но хочу написать сам….

ну так вот…
в начале программы вызывается GetOpenFileName, я выбираю файл… все нормально
потом вызывается GetSaveFileName - если я сразу выбираю файл - то все ок,
а если выбираю в поле "тип файлов", чтобы показывались все файлы (*.*), навожу курсор на какой-то файл в SaveFileDialog и секунду-две подержу - SaveFileDialog закрывается…

я заметил, что в FASMW так же сама проблема…
и подумал, что это ВИнда криво написанная…

но "Блокнот" Винды, RadASM и остальные программы, работают нормально


может кто-то стыкался с такоей проблемой? подсскажите, плиз, что делать
я уже целый день мучаюсь и ничего не могу сделать(

вот исходник программы:


format PE GUI 4.0 entry start include '%fasminc%\win32a.inc' hInstance dd ? ofn OPENFILENAME FilterString1 db 'EXE/DLL-files (*.exe/*.dll)',0,'*.exe;*.dll',0,'All Files (*.*)',0,'*.*',0,0 FilterString2 db 'ASM/INC-Files (*.asm/*.inc)',0,'*.asm;*.inc',0,'All Files (*.*)',0,'*.*',0,0 buffer1 db 512 dup (?) buffer2 db 512 dup (?) hFile1 dd ? hFile2 dd ? start: invoke GetModuleHandle,0 mov [hInstance],eax invoke DialogBoxParam,eax,1000,0,DlgProc,0 invoke ExitProcess,0 proc DlgProc hWnd,uMsg,wParam,lParam cmp [uMsg],WM_COMMAND jz .wmcommand cmp [uMsg],WM_CLOSE jz .wmclose xor eax,eax ret .wmclose: invoke EndDialog,[hWnd] xor eax,eax inc eax ret .wmcommand: mov eax,[wParam] mov edx,eax shr edx,16 cmp dx,BN_CLICKED jne _nafig invoke RtlZeroMemory,ofn,sizeof.OPENFILENAME mov [ofn.lStructSize],sizeof.OPENFILENAME push [hWnd] pop [ofn.hwndOwner] push [hInstance] pop [ofn.hInstance] mov [ofn.lpstrFilter],FilterString1 mov [ofn.lpstrFile],buffer1 mov [ofn.nMaxFile],512 mov [ofn.Flags],OFN_PATHMUSTEXIST or OFN_FILEMUSTEXIST or OFN_HIDEREADONLY mov byte [buffer1],0 invoke GetOpenFileName,ofn dec eax jnz _nafig invoke RtlZeroMemory,ofn,sizeof.OPENFILENAME mov [ofn.lStructSize],sizeof.OPENFILENAME push [hWnd] pop [ofn.hwndOwner] push [hInstance] pop [ofn.hInstance] mov [ofn.lpstrFilter],FilterString2 mov [ofn.lpstrFile],buffer2 mov [ofn.nMaxFile],512 mov [ofn.Flags],OFN_PATHMUSTEXIST or OFN_FILEMUSTEXIST or OFN_HIDEREADONLY mov byte [buffer2],0 invoke GetSaveFileName,ofn dec eax jnz _nafig invoke CreateFile,buffer1,GENERIC_READ or GENERIC_WRITE,0,0,OPEN_EXISTING,0,0 mov [hFile1],eax invoke CreateFile,buffer2,GENERIC_READ or GENERIC_WRITE,0,0,CREATE_ALWAYS,0,0 mov [hFile2],eax invoke GetFileSize,[hFile1],0 mov ebx,eax jmp _next ccc dd ? NumRead dd ? NumWritten dd ? buf db 5 dup (?) _fm db '0%Xh',0 ___s1 db 9,'db ' ___x1 db 5 dup (?) __koma db ',' ___s2 db 0Dh,0Ah MessDone db 'DONE![image]http://cracklab.ru/f/img/smilies/s1.gif[/image]',0 _next: invoke WriteFile,[hFile2],___s1,4,NumWritten,0 mov [ccc],15 invoke ReadFile,[hFile1],___x1,1,NumRead,0 dec ebx jz .pend movzx eax,byte [___x1] invoke wsprintf,buf,_fm,eax add esp,12 invoke lstrlen,buf invoke WriteFile,[hFile2],buf,eax,NumWritten,0 .loop: invoke WriteFile,[hFile2],__koma,1,NumWritten,0 invoke ReadFile,[hFile1],___x1,1,NumRead,0 dec ebx jz .pend movzx eax,byte [___x1] invoke wsprintf,buf,_fm,eax add esp,12 invoke lstrlen,buf invoke WriteFile,[hFile2],buf,eax,NumWritten,0 dec [ccc] jz .nextloop jmp .loop .nextloop: dec ebx jz .pend inc ebx invoke WriteFile,[hFile2],___s2,2,NumWritten,0 jmp _next .pend: invoke ReadFile,[hFile1],___x1,1,NumRead,0 movzx eax,byte [___x1] invoke wsprintf,buf,_fm,eax add esp,12 invoke lstrlen,buf invoke WriteFile,[hFile2],buf,eax,NumWritten,0 .end: invoke CloseHandle,[hFile1] invoke CloseHandle,[hFile2] invoke MessageBox,0,MessDone,MessDone,MB_ICONINFORMATION _nafig: xor eax,eax inc eax ret endp data import library user32,'user32.dll', kernel32,'kernel32.dll', comdlg32,'comdlg32.dll' include '%fasminc%\api\user32.inc' include '%fasminc%\api\kernel32.inc' include '%fasminc%\api\comdlg32.inc' end data section '.rsrc' resource from '______.RES' data readable
Post #: 1
RE: GetOpenFilename и GetSaveFileName глючат... - программа вылетает - 2007-12-08 05:12:31.693333   
BigIron

Сообщений: 898
Оценки: 0
Присоединился: 2007-05-13 18:53:43.593333
Попробуй на соседской винде(на слегка-другом билде).
Я слышал что там иногда бывают грабли(особо если что-то неоднородное) из-за того, что в одном билде виндов либа работает в юзер моде , а в каком-нибудь другом уже может работать в кернел моде….. отсюда часто и проблемы переносимости(я под винду не пишу, просто у меня знакомые пишут, иногда вот про такие штуки говорят).
Post #: 2
RE: GetOpenFilename и GetSaveFileName глючат... - программа вылетает - 2007-12-08 14:42:58.500000   
Alaget

Сообщений: 330
Оценки: 0
Присоединился: 2007-11-08 15:57:53.170000
Проблема в коде, а не винде, если что не получается это не значит что виноват Гейтс и его команда.
Post #: 3
RE: GetOpenFilename и GetSaveFileName глючат... - программа вылетает - 2007-12-08 17:07:49.456666   
Timoti

Сообщений: 31
Оценки: 0
Присоединился: 2007-06-08 23:19:41.400000
Попробуй сделать FilterString3 (отдельно, чисто для *.*)…
Post #: 4
RE: GetOpenFilename и GetSaveFileName глючат... - программа вылетает - 2007-12-08 19:02:47.726666   
Necromancer13

Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
да, согласен, наверно, в коде…
но такие программы как FASMW, PEditor, LordPE тоже глючат!

 http://prikolitvc.ucoz.ru/Boom.rar - в архиве видео, снятое CamStudio… на нем видно, что программа вылетает…:(
Post #: 5
RE: GetOpenFilename и GetSaveFileName глючат... - программа вылетает - 2007-12-08 19:04:37.806666   
Necromancer13

Сообщений: 146
Оценки: 0
Присоединился: 2007-06-28 02:00:57.563333
а может просто у меня винда тупая… или вредная программа какая-то…:)
Post #: 6
Страниц:  [1]
Все форумы >> [Прочее] >> GetOpenFilename и GetSaveFileName глючат... - программа вылетает







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.