程序新建了一个文本文件, 然后时刻向其写入数据。 每当双击打开该文本文件时,提示在访  c:\\...txt  时发生共享违例 文件操作源代码:
         CString strTime;
char szPathTemp[MAX_PATH];
char * temp = ".txt";
HANDLE hFile; strTime = time.Format("\\%Y%m%d");
strcpy(szPathTemp, szPath);
strncat(szPathTemp, strTime, 9);
strncat(szPathTemp, temp, 4);  //文件不存在 
if(!PathFileExists(szPathTemp))
{
//新建文件
hFile = CreateFile(szPathTemp, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ  |                                     FILE_SHARE_WRITE | FILE_SHARE_DELETE,  \
 NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);                   if(hFile == INVALID_HANDLE_VALUE)
{
MessageBox("创建文件失败!"); return;
}
else
{
lLogID = 0;
CFile logFile(hFile);
CString logTemp;  logTemp.Format("记录数目: 00000\r\n\r\n #        时间  进程                               PID       操 作           路径\r\n");
logFile.Write(logTemp, strlen(logTemp));
logFile.Flush();
logFile.Close();
//关闭文件句柄
CloseHandle(hFile);
}
}
else  //文件存在
{
CFile logFile;
BOOL ret;
CFileException ex; ret = logFile.Open(szPathTemp, CFile::modeWrite | CFile::shareDenyNone, &ex);

if(!ret)
{
MessageBox("打开文件失败!");
CString str;
char szError[1024];
ex.GetErrorMessage(szError, 1024);
str.Format("%s", szError);
MessageBox(str); return;
}
else
{
CString logTemp;
strTime = time.Format("%H:%M:%S");
lLogID++;

logTemp.Format("%d       %s    %s    %s    %s\r\n",   \
lLogID, strTime, vData.pProName, vData.chOperation, vData.chPath);
logFile.SeekToEnd();
logFile.Write(logTemp, strlen(logTemp));
logFile.Flush(); logFile.SeekToBegin();
logTemp.Format("记录数目: %d    \r\n\r\n", lLogID);
logFile.Write(logTemp, strlen(logTemp));
logFile.Flush(); logFile.Close();
}

}