mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-08 12:07:03 -06:00
50 lines
895 B
C++
Executable File
50 lines
895 B
C++
Executable File
// Windows/ResourceString.cpp
|
|
|
|
#include "StdAfx.h"
|
|
|
|
#include "Windows/ResourceString.h"
|
|
#ifndef _UNICODE
|
|
#include "Common/StringConvert.h"
|
|
#endif
|
|
|
|
extern HINSTANCE g_hInstance;
|
|
|
|
namespace NWindows {
|
|
|
|
CSysString MyLoadString(UINT resourceID)
|
|
{
|
|
CSysString s;
|
|
int size = 256;
|
|
int len;
|
|
do
|
|
{
|
|
size += 256;
|
|
len = ::LoadString(g_hInstance, resourceID, s.GetBuffer(size - 1), size);
|
|
} while (size - len <= 1);
|
|
s.ReleaseBuffer();
|
|
return s;
|
|
}
|
|
|
|
#ifndef _UNICODE
|
|
UString MyLoadStringW(UINT resourceID)
|
|
{
|
|
UString s;
|
|
int size = 256;
|
|
int len;
|
|
do
|
|
{
|
|
size += 256;
|
|
len = ::LoadStringW(g_hInstance, resourceID, s.GetBuffer(size - 1), size);
|
|
if (len == 0)
|
|
{
|
|
if (::GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
|
|
break;
|
|
return GetUnicodeString(MyLoadString(resourceID));
|
|
}
|
|
} while (size - len <= 1);
|
|
s.ReleaseBuffer();
|
|
return s;
|
|
}
|
|
#endif
|
|
|
|
} |