请帮我看看如下代码,为何老是提示文件未找到!!!
半点闲 2004-10-29 03:28:44 操作系统:win2k
开发工具:VC6
语言:C
// 以下是全局变量。
TCHAR szPath[MAX_PATH + 1]; // 获取的当前路径名。
TCHAR szUpFilesList[] = TEXT("UpFilesList.txt"); // 文件名。
TCHAR szPathFile[100]; // 合并路径与文件名。
int intFileZt; // 获取文件状态。
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
// 省掉不相关代码若干......
TCHAR szBuffer[100]; // 格式化后的字符缓冲区。
int iLeng; // 字符长度。
static HANDLE hFind; // 查找文件返回值句柄。
static WIN32_FIND_DATA FindFileData;
........
switch (message)
{
case WM_CREATE:
..........
.........
// 获取当前路径。
if ( (GetCurrentDirectory(MAX_PATH + 1, szPath)) !=0 )
{
// 合并字符串。
iLeng = wsprintf(szBuffer,
TEXT("%s\\%s"),szPath,szUpFilesList);
lstrcpyn(szPathFile, szBuffer, iLeng);
hFind = FindFirstFile(szPathFile, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
intFileZt = 0; // 赋定位文件状态值。
FindClose(hFind); //关闭查找句柄。
}
else
{
intFileZt = 1;
FindClose(hFind);//关闭查找句柄。
}
}
else
{
intFileZt = 2;
}
return 0;
case WM_PAINT:
switch (intFileZt) // 定位文件状态。
{
case 0:
hdc = BeginPaint(hwnd, &ps);
// 格式化字符串。
iLeng = wsprintf(szBuffer,
TEXT("当前路径下:%s文件未找到!"),szPathFile);
TextOut(hdc, cxChar, cyChar, szBuffer, iLeng);
EndPaint(hwnd, &ps);
break;
case 1:
hdc = BeginPaint(hwnd, &ps);
// 格式化字符串。
iLeng = wsprintf(szBuffer,
TEXT("文件找到了!%s"),FindFileData.cFileName );
TextOut(hdc, cxChar, cyChar, szBuffer, iLeng);
EndPaint(hwnd, &ps);
break;
case 2:
hdc = BeginPaint(hwnd, &ps);
iLeng = wsprintf(szBuffer, TEXT("致命错误911!"));
TextOut(hdc, cxChar, cyChar, szBuffer, iLeng);
EndPaint(hwnd, &ps);
break;
default:
hdc = BeginPaint(hwnd, &ps);
iLeng = wsprintf(szBuffer, TEXT("致命错误path!"));
TextOut(hdc, cxChar, cyChar, szBuffer, iLeng);
EndPaint(hwnd, &ps);
break;
}
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
程序执行后~~~~不管当前目录中有没有UpFilesList.txt这个文件,,总是提示文件未找到。。。请大家帮我看看我错在那里~~~~~~~~~~~~~