mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-11 18:07:08 -06:00
4.45 beta
This commit is contained in:
committed by
Kornel Lesiński
parent
d9666cf046
commit
a145bfc7cf
@@ -14,7 +14,7 @@ extern bool g_IsNT;
|
||||
|
||||
namespace NWindows {
|
||||
|
||||
CSysString MyLoadString(UINT resourceID)
|
||||
CSysString MyLoadString(HINSTANCE hInstance, UINT resourceID)
|
||||
{
|
||||
CSysString s;
|
||||
int size = 256;
|
||||
@@ -22,15 +22,20 @@ CSysString MyLoadString(UINT resourceID)
|
||||
do
|
||||
{
|
||||
size += 256;
|
||||
len = ::LoadString(g_hInstance, resourceID, s.GetBuffer(size - 1), size);
|
||||
len = ::LoadString(hInstance, resourceID, s.GetBuffer(size - 1), size);
|
||||
}
|
||||
while (size - len <= 1);
|
||||
s.ReleaseBuffer();
|
||||
return s;
|
||||
}
|
||||
|
||||
CSysString MyLoadString(UINT resourceID)
|
||||
{
|
||||
return MyLoadString(g_hInstance, resourceID);
|
||||
}
|
||||
|
||||
#ifndef _UNICODE
|
||||
UString MyLoadStringW(UINT resourceID)
|
||||
UString MyLoadStringW(HINSTANCE hInstance, UINT resourceID)
|
||||
{
|
||||
if (g_IsNT)
|
||||
{
|
||||
@@ -40,7 +45,7 @@ UString MyLoadStringW(UINT resourceID)
|
||||
do
|
||||
{
|
||||
size += 256;
|
||||
len = ::LoadStringW(g_hInstance, resourceID, s.GetBuffer(size - 1), size);
|
||||
len = ::LoadStringW(hInstance, resourceID, s.GetBuffer(size - 1), size);
|
||||
}
|
||||
while (size - len <= 1);
|
||||
s.ReleaseBuffer();
|
||||
@@ -48,6 +53,12 @@ UString MyLoadStringW(UINT resourceID)
|
||||
}
|
||||
return GetUnicodeString(MyLoadString(resourceID));
|
||||
}
|
||||
|
||||
UString MyLoadStringW(UINT resourceID)
|
||||
{
|
||||
return MyLoadStringW(g_hInstance, resourceID);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
@@ -7,11 +7,13 @@
|
||||
|
||||
namespace NWindows {
|
||||
|
||||
CSysString MyLoadString(HINSTANCE hInstance, UINT resourceID);
|
||||
CSysString MyLoadString(UINT resourceID);
|
||||
#ifdef _UNICODE
|
||||
inline UString MyLoadStringW(UINT resourceID)
|
||||
{ return MyLoadString(resourceID); }
|
||||
inline UString MyLoadStringW(HINSTANCE hInstance, UINT resourceID) { return MyLoadString(hInstance, resourceID); }
|
||||
inline UString MyLoadStringW(UINT resourceID) { return MyLoadString(resourceID); }
|
||||
#else
|
||||
UString MyLoadStringW(HINSTANCE hInstance, UINT resourceID);
|
||||
UString MyLoadStringW(UINT resourceID);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -15,6 +15,33 @@ inline UInt32 GetNumberOfProcessors()
|
||||
return (UInt32)systemInfo.dwNumberOfProcessors;
|
||||
}
|
||||
|
||||
#ifndef _WIN64
|
||||
typedef BOOL (WINAPI *GlobalMemoryStatusExP)(LPMEMORYSTATUSEX lpBuffer);
|
||||
#endif
|
||||
|
||||
inline UInt64 GetRamSize()
|
||||
{
|
||||
MEMORYSTATUSEX stat;
|
||||
stat.dwLength = sizeof(stat);
|
||||
#ifdef _WIN64
|
||||
if (!::GlobalMemoryStatusEx(&stat))
|
||||
return 0;
|
||||
return stat.ullTotalPhys;
|
||||
#else
|
||||
GlobalMemoryStatusExP globalMemoryStatusEx = (GlobalMemoryStatusExP)
|
||||
::GetProcAddress(::GetModuleHandle(TEXT("kernel32.dll")),
|
||||
"GlobalMemoryStatusEx");
|
||||
if (globalMemoryStatusEx != 0)
|
||||
if (globalMemoryStatusEx(&stat))
|
||||
return stat.ullTotalPhys;
|
||||
{
|
||||
MEMORYSTATUS stat;
|
||||
stat.dwLength = sizeof(stat);
|
||||
GlobalMemoryStatus(&stat);
|
||||
return stat.dwTotalPhys;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user