CString strPath;
strPath.Format(_T("%s%s.ini"), CPath::GetAppPath().c_str()/*程序运行路径*/, szUser/*帐号名*/);
HANDLE Handle = CreateFile((LPCTSTR)strPath, GENERIC_READ, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == Handle)
{
MessageBox(_T("账号已登陆,请重新输入!"), _T("提示"), MB_OK | MB_ICONINFORMATION);
return;
strPath.Format(_T("%s%s.ini"), CPath::GetAppPath().c_str()/*程序运行路径*/, szUser/*帐号名*/);
HANDLE Handle = CreateFile((LPCTSTR)strPath, GENERIC_READ, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == Handle)
{
MessageBox(_T("账号已登陆,请重新输入!"), _T("提示"), MB_OK | MB_ICONINFORMATION);
return;
}
PS:参考大量网上资料,自己总结一下,备忘
CreateFile 第3个参数 0 表示不共享
第5个参数 OPEN_ALWAYS 如文件不存在则创建它
思路:如果没有文件就创建并占用它,在占用之后,再用CreateFile函数就可以判断文件是否被占用,被占用则返回值为INVALID_HANDLE_VALUE,否则就没有被占用.