判断文档是office打开,还是WPS打开

word和Excel文档的类型可以区分当前文档是用office打开还是wps打开,所以我们就获取文档类型,进行判断。
wps打开的文档,它的文档类型是DOC、DOCX、XLS、XLSX
office打开的文档,它的文档类型是Microsoft*****之类的
//strPath 文档路径
//strExt 文档后缀
BOOL OpenByWps(CString strPath, CString strExt)
{
	BOOL bWps = FALSE;
	//获取文件类型
	CString strVal(L"");
	SHFILEINFOA info;
	CStringA strA(strPath);
	LPCSTR ptr = strA;
	if (SHGetFileInfoA(ptr,
		FILE_ATTRIBUTE_NORMAL,
		&info,
		sizeof(info),
		SHGFI_TYPENAME | SHGFI_USEFILEATTRIBUTES))
	{
		strVal = info.szTypeName;
		if (strExt == L"doc" || strExt == L"docx")
		{
			if (strVal.Left(3) == L"DOC")
			{
				bWps = TRUE;
			}
		}
		else if (strExt == L"xls" || strExt == L"xlsx")
		{
			if (strVal.Left(3) == L"XLS")
			{
				bWps = TRUE;
			}
		}
	}
	return bWps;
}

你可能感兴趣的:(c++,文档打开方式,office,wps,c++)