高手来看一下, CFileDialog与另一线程的CreateFile冲突问题
启动一个工作线程TestThread, 定期访问本地目录下的某个文件.
然后在主线程中打开CFileDialog 会导致TestThread中CreateFile失败. 请问有什么解决办法吗?
UINT CTestFileDialogDlg::TestThread( LPVOID lParam )
{
while(1)
{
HANDLE hFile = CreateFile(_T(".\\Test.txt"),GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
AfxMessageBox(_T("TEST"));
}
CloseHandle(hFile);
}
return 0;
}
void CTestFileDialogDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
AfxBeginThread(TestThread, (LPVOID)this);
}
void CTestFileDialogDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog dlg(TRUE, _T("ico"), _T("C:\\*.*"),OFN_NOCHANGEDIR);
if (dlg.DoModal() == IDOK)
{
}
}