您好我有如下代碼:WINAPI - 創建文件INVALID_HANDLE_VALUE
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。
*如果函數失敗,則返回值爲INVALID_HANDLE_VALUE * ***要獲取擴展錯誤信息,請調用GetLastError。*** – chris
嘗試給文件名指定完全限定的路徑,因爲您爲如果找不到文件,調用將會失敗。 – johnathon
特別是如果你是從IDE內部運行這個,很可能是因爲當前目錄不是你所期望的。由於您尚未指定文件的路徑,因此它需要位於進程當前目錄才能成功打開。 –