Такой вопрос, я создаю область памяти с помощью функции CreateFileMapping. Туда загружается определенный текстовый файл, есть какая нить функ-я чтобы считать эти данные в какй-нибудь буфер, чтобы потом на экран вывести..или функция которая на прямую выводит текст из данной области?
Ты создаешь CreateFileMapping'ом не область памяти, а проекцию файла. Функцией MapViewOfFile(MapViewOfFileEx) ты можешь спроецировать вид. После этого тебе отдается указатель, и ты можешь с ним работать как тебе угодно., напрямую читать или писать в эту память. После всех манипуляций нужно проделать обратные операции - закрыть вид (UnmapViewOfFile), закрыть проекцию (CloseHandle с хендлом от CreateFileMapping) и закрыть файл.
прорисовать я его хочу на главном окне проги, т.е без отдельном контрола Код (Text): invoke GetOpenFileName,addr ofn .if eax==TRUE invoke CreateFile,addr buffer,GENERIC_READ,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,NULL mov hFileRead,eax invoke CreateFileMapping,hFileRead,NULL,PAGE_READONLY,0,0,NULL mov hMapFile,eax ;exp invoke MapViewOfFile,hMapFile,FILE_MAP_READ,0,0,NULL mov pMemory,eax вот получаю указатель на память(pMemory) и как мне теперь прорисовать текст какторый в данной памяти на форме..пробывал послать сообщение GET_TEXT, не получилось..этот указатель содержет в себе указатель на первый символ текста загруженного в память или как? записать в другой файл получиллось, а на окне его прорисовать не пойму как(
ага спс помогло..только прорисовывает в однустроку...я так понял, что надо самому просчитать количество символов, которое может прописаться в окне,не выходя за грани, относительно ширины окна, и считывать из памяти. Потом менять координаты и все будет ок...или как то по другому можно?
это конечно гиморойный способ вывода текста, но что-то захотельсь поэксперементировать, а то скучно только читать и списывать код)
только вот почему то в Оли смотрю когда прогу, после ввызова CreateFileMapping в еах 0, а создает...и вообще почему-то не останавливается моя прога на брейках, поставленных на функции(