-1

こんにちは私は以下のようなコードを持っています:

LPSTR Bufor;
DWORD dwRozmiar, dwPrzeczyt;
HANDLE hPlik;

LRESULT CALLBACK WndProc (HWND hwnd, UINT msg,WPARAM wParam, LPARAM lParam)
{

hPlik = CreateFile( "test.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL );
if( hPlik == INVALID_HANDLE_VALUE ) {
    MessageBox( NULL, "Cant open a file", "Error1!", MB_ICONEXCLAMATION );
    PostQuitMessage( 0 );
}



Bufor[ dwRozmiar ] = 0;
SetWindowText( hwnd, Bufor ); 

}

そして、invalid_handle_valueを取得しますか?なんで?プログラムは、次のような最初のメッセージボックスを表示します。ファイルを開くことができません。

を呼び出すGetLastErrorと、値32が返されます。

4

1 に答える 1

1

Windows エラー コード 32 はERROR_SHARING_VIOLATION. これは、プロセス アクセスを拒否する共有モードを使用して、他のエンティティによってファイルが既に開かれていることを意味します。

その他のエンティティは、あなた自身のプログラムのようです。ファイルを開き、閉じることができません。

ウィンドウ プロシージャも完全に壊れています。少し戻って、基本をマスターする時が来ました。

于 2012-12-01T21:29:04.213 に答える