Код (Text): .data szresult db 'C:\result.exe',0 .data? szCommandLine db 64 dup (?) size222 dd ? pMem dd ? read dd ? hFile dd ? bWritten dd ? .code Starter proc invoke GetCL,1,ADDR szCommandLine invoke CreateFile, addr szCommandLine, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, NULL, NULL mov hFile, eax invoke GetFileSize, hFile, NULL mov size222,eax invoke GlobalAlloc,GMEM_FIXED,eax mov pMem,eax invoke ReadFile, hFile, addr pMem, size222, addr read, NULL invoke CloseHandle, hFile invoke CreateFile, addr szresult, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, NULL, NULL mov hFile, eax invoke WriteFile, hFile, addr pMem,size222, addr bWritten, NULL invoke CloseHandle, hFile invoke GlobalFree,pMem ret Starter endp start: invoke Starter invoke ExitProcess, 0 end start Почему не работает с большими файлами?? >100 кб и тд
Попробуй вместо GMEM_FIXED - GMEM_MOVEABLE. Не забудь GlobalLock(). И кроме того: почему "addr pMem"? Разве здесь нужен адрес адреса?