Zapis tekstu z pola tekstowego do pliku (WinApi)

0
DWORD dwZapisane;
DWORD dwdlugosc;
LPSTR Bufor;
dwdlugosc = GetWindowTextLength( g_hPrzycisk2 );
Bufor =( LPSTR ) GlobalAlloc( GPTR, dwdlugosc + 1 );
GetWindowText( g_hPrzycisk2, Bufor, dwdlugosc + 1 );
MessageBox( hwnd, Bufor, "Wpisany tekst", MB_ICONINFORMATION );
hPlik = CreateFile( "convert.txt", GENERIC_READ, 0, NULL, CREATE_NEW, 0, NULL );
WriteFile( hPlik, Bufor, dwdlugosc, & dwZapisane, NULL );

dlaczego nie zapisuje mi nic w pliku convert.txt?

1

bo GENERIC_READ

0

Jak mam to sprawdzić?

Próbuję tak:

DWORD dwdlugosc;
			LPSTR Bufor;
			DWORD lastError = GetLastError();

			dwdlugosc = GetWindowTextLength( g_hPrzycisk2 );
			Bufor =( LPSTR ) GlobalAlloc( GPTR, dwdlugosc + 1 );
			GetWindowText( g_hPrzycisk2, Bufor, dwdlugosc + 1 );
			MessageBox( hwnd, Bufor, "Wpisany tekst", MB_ICONINFORMATION );
			hPlik = CreateFile( "convert.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL );
			WriteFile( hPlik, Bufor, dwdlugosc, & dwZapisane, NULL );
			MessageBox( hwnd, lastError, "Error", MB_ICONINFORMATION );

i błąd:

error C2664: 'MessageBoxA' : cannot convert parameter 2 from 'DWORD' to 'LPCSTR'

0

Poza tym że powinno być GENERIC_WRITE brakuje CloseHandle jak nie zamkniesz poprawnie pliku to "zgubisz" zmiany.

0
kAzek napisał(a):

Poza tym że powinno być GENERIC_WRITE brakuje CloseHandle jak nie zamkniesz poprawnie pliku to "zgubisz" zmiany.

Ale ja mam w kodzie GENERIC_WRITE już. Ponadto gdy dodam CloseHandle to nic się nadal nie zapisuje. Co zrobić?

0
WriteFile(hPlik, (LPCVOID)Bufor, dwdlugosc, &dwZapisane, NULL);
0

Ok, dzięki działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1