You could modify the file with the code below and then open it. It is a bit of a work around but ShellExecute will open the file read only. Then you can reverse this with a
"&= ~(CFile::readOnly)"
Matt
CFileStatus fs;
CFile::GetStatus(fileName,fs);
fs.m_mtime=0;
fs.m_attribute |= (CFile::readOnly);
CFile::SetStatus(fileName,fs);