mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 13:14:59 -06:00
54 lines
883 B
C++
Executable File
54 lines
883 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;
|
|
#ifndef _UNICODE
|
|
extern bool g_IsNT;
|
|
#endif
|
|
|
|
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)
|
|
{
|
|
if (g_IsNT)
|
|
{
|
|
UString s;
|
|
int size = 256;
|
|
int len;
|
|
do
|
|
{
|
|
size += 256;
|
|
len = ::LoadStringW(g_hInstance, resourceID, s.GetBuffer(size - 1), size);
|
|
}
|
|
while (size - len <= 1);
|
|
s.ReleaseBuffer();
|
|
return s;
|
|
}
|
|
return GetUnicodeString(MyLoadString(resourceID));
|
|
}
|
|
#endif
|
|
|
|
}
|