Esempio n. 1
0
BOOL CBrowsersToolbarDlg::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
   // need to handle both ANSI and UNICODE versions of the message
   TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*) pNMHDR;
   TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*) pNMHDR;   

   UINT_PTR nID = pNMHDR->idFrom;
   if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
      pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
   {
      // idFrom is actually the HWND of the tool
      nID = ::GetDlgCtrlID((HWND) nID);
   }   

   if (pNMHDR->code == TTN_NEEDTEXTA)
   {
		CStringA strTipText;
		strTipText.LoadString((UINT) nID);

	   strcpy_s(pTTTA->szText, strTipText);
   }
   else
   {
		CStringW strTipText;
		strTipText.LoadString((UINT) nID);

	   wcscpy_s(pTTTW->szText, strTipText);
   }   

   *pResult = 0;

   return TRUE;    // message was handled
}
std::string LoadLocalizedString(UINT stringID)
{
  // TODO: The returned string needs to be UTF-8. Do the conversion.
  CStringA retString;
  retString.LoadString(stringID);
  return retString.GetString();
}
/**
 * @return target machine's platform.
 */
CExpressModeDlg::TARGET_PLATFORM CExpressModeDlg::GetPlatform(void) const
{
	if (m_strPlatform.CompareNoCase(_T("Win32")) == 0 ||
		m_strPlatform.CompareNoCase(_T("Win32-x86")) == 0)
	{
		return TPLAT_X86;
	}
	else if (m_strPlatform.CompareNoCase(_T("Win64-x64")) == 0)
	{
		return TPLAT_X64;
	}
	else
	{
		CStringA strErrorMessage;
		strErrorMessage.LoadString(IDS_ERROR_UNSUPPORTEDPLATFORM);
		throw com_error(strErrorMessage);
	}
}
BOOL CDummyUpdater::IsNeedUpdate()
{
	if (FALSE == DeleteTempFolder())
	{
		return FALSE;
	}

	CString cstrTempFilePath;
	if (FALSE == CMyUtility::CreateTempFilePath(cstrTempFilePath))
	{
		return FALSE;
	}

	BOOL bResult = TRUE;

	try 
	{
		CHTTPDownloader httpDownloader;

		CString strVersionFileURL;
		strVersionFileURL.Format(URL_VERSION, CITYID_CODE);

		if (FALSE == httpDownloader.Download(strVersionFileURL, cstrTempFilePath))
		{
			throw L"To Download dmver.dat is failed";
		}

		ifstream versionFileReader (cstrTempFilePath, ios::in);
		if (false == versionFileReader.is_open())
		{
			throw L"To Open dmver.dat is failed";
		}

		string strLine = "unknown";
		getline(versionFileReader, strLine);
		versionFileReader.close();

		CStringA strAppVersion;
		strAppVersion.LoadString(IDS_APP_VERSION);

		if (strLine.compare("unknown") == 0)
		{
			bResult = false;
		}
		else
		{
			bResult = (strAppVersion != strLine.c_str());
		}

	} 
	catch (LPCTSTR strErrorMessage)
	{
		bResult = FALSE;

		CString strTextFormater;
		strTextFormater.Format(L"Error: %s with error code %u\n", strErrorMessage, GetLastError());
		::OutputDebugString(strTextFormater);
	}

	DeleteFile(cstrTempFilePath);
	return bResult;

}
Esempio n. 5
0
std::string loadString(UINT resid)
{
    CStringA s;
    s.LoadString(resid);
    return s.GetBuffer();
}
/**
 * @param strFilePath - document file path.
 */
void CExpressModeDlg::LoadXMLDocument(const CString& strFilePath)
{
	ClearData();
	HRESULT hRes = m_pXMLDocument.CoCreateInstance(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER);
	CHECK_HRESULT(hRes);
	m_pXMLDocument->setProperty(CComBSTR(OLESTR("SelectionLanguage")), CComVariant(OLESTR("XPath")));
	m_pXMLDocument->put_async(VARIANT_FALSE);
	VARIANT_BOOL bSuccess = VARIANT_FALSE;
	hRes = m_pXMLDocument->load(CComVariant(strFilePath), &bSuccess);
	CHECK_HRESULT(hRes);
	if (! bSuccess)
	{
		CComPtr<IXMLDOMParseError> pXMLError;
		hRes = m_pXMLDocument->get_parseError(&pXMLError);
		if (hRes == S_OK)
		{
			long lErrorCode = 0;
			pXMLError->get_errorCode(&lErrorCode);
			if (lErrorCode != 0)
			{
				CComBSTR bstrError;
				pXMLError->get_reason(&bstrError);
				throw com_error(lErrorCode, CW2A(bstrError));
			}
		}
		CStringA strError;
		strError.LoadString(IDS_ERROR_XMLLOADERROR);
		throw com_error(strError);
	}
	hRes = m_pXMLDocument->get_documentElement(&m_pXMLElementDocument);
	CHECK_HRESULT(hRes);

	CComVariant varReportVersion;
	hRes = m_pXMLElementDocument->getAttribute(CComBSTR(OLESTR("version")), &varReportVersion);
	CHECK_HRESULT(hRes);
	if (hRes == S_OK)
	{
		hRes = varReportVersion.ChangeType(VT_I4);
		CHECK_HRESULT(hRes);
		if (V_I4(&varReportVersion) != 1)
		{
			CStringA strErrorMessage;
			strErrorMessage.LoadString(IDS_ERROR_UNSUPPORTEDREPORTVERSION);
			throw com_error(strErrorMessage);
		}
	}

	if (GetXMLNodeText(m_pXMLElementDocument, OLESTR("./platform"), m_strPlatform))
	{
		// validate platform
		GetPlatform();
	}

	if (SelectXMLNode(m_pXMLElementDocument, OLESTR("./error"), m_pXMLNodeError))
	{
		CString strProcessID;
		GetXMLNodeText(m_pXMLNodeError, OLESTR("./process/id"), strProcessID);
		if (! strProcessID.IsEmpty())
		{
			CString strExpression;
			strExpression.Format(_T("./processes/process[id=%s]"), strProcessID);
			SelectXMLNode(m_pXMLElementDocument, CT2W(strExpression), m_pXMLNodeProcess);
		}
	}
}