Есть функция: Code: void DlgOnCommand(HWND hwnd,int msg,HWND,UINT) { char szText[256]; char szFileCont[65536]; char szFilter[30] = "TXT Files\0*.txt\0all(*.*)\0*.*\0"; DWORD dwRead; switch(msg) { case IDCANCEL: PostQuitMessage(0); break; case ID_BUTN: memset(&ofn,0,sizeof(OPENFILENAME)); ofn.lpstrFilter = szFilter; ofn.Flags = OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST; ofn.hwndOwner = hwnd; ofn.lStructSize = sizeof(OPENFILENAME); ofn.lpstrFile = szText; ofn.lpstrFile[0] = '\0'; ofn.nFilterIndex = 1; ofn.nMaxFile = sizeof(szText); if(GetOpenFileName(&ofn)) { hFile = CreateFile(szText,GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL); ReadFile(hFile,szFileCont,sizeof(szFileCont),&dwRead,NULL); SetWindowText(hFileCont,szFileCont); } CloseHandle(hFile); break; } } На диалоге кнопки Open, Ok и Cancel,Static text, и текствое поле, куда должно выводиться содержимое файла, но при выборе файла в GetOpenFileName и его прочтении в переменной dwRead находится 0 а в окно выводится куча букв М: Уже 2 дня парюсь, почему файл не читается?
GENERIC_WRITE замени на GENERIC_READ Code: hFile = CreateFile(szText,GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);