如何解决在 Windows 7 上为林加拉语使用 GetDateFormatEx 的问题
如果需要,我可以与您分享一个测试解决方案。但是采用默认的 Dialog MFC 项目并重命名窗口上的 STATIC 控件并将其映射到变量。在 OnInitDialog
中执行以下操作:
VERIFY(datToday.GetAsSystemTime(sysTime));
int i = GetDateFormatEx(_T("ln"),NULL,&sysTime,_T("d/MM"),m_strDate.GetBufferSetLength(_MAX_PATH),_MAX_PATH,nullptr);
if (i == 0)
{
AfxMessageBox(GetLastErrorAsstringEx(::GetLastError()));
}
m_strDate.ReleaseBuffer();
UpdateData(FALSE);
CString GetLastErrorAsstringEx(DWORD dwError)
{
LPVOID lpMsgBuf;
CString strError;
::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYstem |
FORMAT_MESSAGE_IGnorE_INSERTS,nullptr,dwError,MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),// Default language
(LPTSTR)&lpMsgBuf,nullptr);
strError = (LPTSTR)lpMsgBuf;
LocalFree(lpMsgBuf);
return strError;
}
它应该显示 Lingala 的日期(尽管只是数字)。在 Windows 10 上没问题,但在 Windows 7 上会引发错误:
根据网站:
ERROR_INVALID_ParaMETER
。任何参数值无效。
我知道还有其他格式化日期的方法,但我的应用程序支持 50 多种语言,使用 GetDateFormatEx
是最好的恕我直言。在实际示例中,许多语言具有不同的格式字符串,其中包括月份名称。根据 Microsoft 网站,自 Windows Vista 以来就支持此方法,那么为什么它会在用户 Windows 7 PC 上失败?是否需要额外的资源,或者该操作系统实际上不支持 Lingala?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。