mirror of
https://github.com/chibicitiberiu/rainmeter-studio.git
synced 2024-02-24 04:33:31 +00:00
Added localization support.
This commit is contained in:
@ -701,7 +701,7 @@ void Log(int nLevel, const WCHAR* message, const WCHAR* module)
|
||||
}
|
||||
}
|
||||
|
||||
void LogWithArgs(int nLevel, const WCHAR* format, ... )
|
||||
void LogWithArgs(int nLevel, const WCHAR* format, ...)
|
||||
{
|
||||
WCHAR* buffer = new WCHAR[4096];
|
||||
va_list args;
|
||||
@ -732,6 +732,50 @@ void LogError(CError& error)
|
||||
CDialogAbout::ShowAboutLog();
|
||||
}
|
||||
|
||||
WCHAR* GetString(UINT id, WCHAR* buffer, int len)
|
||||
{
|
||||
LoadString(Rainmeter->GetResourceInstance(), id, buffer, len);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
WCHAR* GetString(UINT id, std::wstring& buffer)
|
||||
{
|
||||
LPWSTR pData;
|
||||
int len = LoadString(Rainmeter->GetResourceInstance(), id, (LPWSTR)&pData, 0);
|
||||
if (len)
|
||||
{
|
||||
buffer.assign(pData, len);
|
||||
}
|
||||
else
|
||||
{
|
||||
buffer.clear();
|
||||
}
|
||||
|
||||
return (WCHAR*)buffer.c_str();
|
||||
}
|
||||
|
||||
std::wstring GetFormattedString(UINT id, ...)
|
||||
{
|
||||
LPWSTR pBuffer = NULL;
|
||||
va_list args = NULL;
|
||||
va_start(args, id);
|
||||
std::wstring tmpSz;
|
||||
|
||||
FormatMessage(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ALLOCATE_BUFFER,
|
||||
GetString(id, tmpSz),
|
||||
0,
|
||||
0,
|
||||
(LPWSTR)&pBuffer,
|
||||
0,
|
||||
&args);
|
||||
|
||||
va_end(args);
|
||||
|
||||
tmpSz = pBuffer;
|
||||
LocalFree(pBuffer);
|
||||
return tmpSz;
|
||||
}
|
||||
|
||||
void RmNullCRTInvalidParameterHandler(const wchar_t* expression, const wchar_t* function, const wchar_t* file, unsigned int line, uintptr_t pReserved)
|
||||
{
|
||||
// Do nothing.
|
||||
|
Reference in New Issue
Block a user