OSDN Git Service

add japanese site html
[sevenzip/7-Zip.git] / 7z457 / CPP / Windows / ResourceString.cpp
1 // Windows/ResourceString.cpp
2
3 #include "StdAfx.h"
4
5 #include "Windows/ResourceString.h"
6 #ifndef _UNICODE
7 #include "Common/StringConvert.h"
8 #endif
9
10 extern HINSTANCE g_hInstance;
11 #ifndef _UNICODE
12 extern bool g_IsNT;
13 #endif
14
15 namespace NWindows {
16
17 CSysString MyLoadString(HINSTANCE hInstance, UINT resourceID)
18 {
19   CSysString s;
20   int size = 256;
21   int len;
22   do
23   {
24     size += 256;
25     len = ::LoadString(hInstance, resourceID, s.GetBuffer(size - 1), size);
26   } 
27   while (size - len <= 1);
28   s.ReleaseBuffer();
29   return s;
30 }
31
32 CSysString MyLoadString(UINT resourceID)
33 {
34   return MyLoadString(g_hInstance, resourceID);
35 }
36
37 #ifndef _UNICODE
38 UString MyLoadStringW(HINSTANCE hInstance, UINT resourceID)
39 {
40   if (g_IsNT)
41   {
42     UString s;
43     int size = 256;
44     int len;
45     do
46     {
47       size += 256;
48       len = ::LoadStringW(hInstance, resourceID, s.GetBuffer(size - 1), size);
49     } 
50     while (size - len <= 1);
51     s.ReleaseBuffer();
52     return s;
53   }
54   return GetUnicodeString(MyLoadString(hInstance, resourceID));
55 }
56
57 UString MyLoadStringW(UINT resourceID)
58 {
59   return MyLoadStringW(g_hInstance, resourceID);
60 }
61
62 #endif
63
64 }