-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. 这意味着该文件已被其他实体使用拒绝您的进程访问的共享模式打开。

该其他实体似乎是您自己的程序。您打开文件,然后无法关闭它。

你的window proc也完全坏了。是时候退后一步并掌握基础知识了。

于 2012-12-01T21:29:04.213 回答