Skip to content

Commit e0d1c72

Browse files
authored
trunk (#20)
* Fix stdafx include * Fix basic handling of "Games" folder on Windows10 RS4 (#10) This does the following: - Sets the default state to hidden - Skips the Games folder when searching This does not: - Hide the dead menu entry. I do not currently know how to actively change the user preference setting to forcefully hide it. * Add basic Visual Studio gitignore * Add specific entries to gitignore * Do not set default menu to Win7 on RS4 (#10) * Rename "PC Settings" to "Settings" (#12) * Create distinction between modern and legacy settings in search results * Add more build artifacts to gitignore * Add default paths for toolset and build all languages * Fix several memsize, memtype and nullpointer issues * create trunk branch containing all changes * set fallback and next version to 4.3.2, set resource fallback value to allow loading in IDE * add generated en-US.dll to gitignore * Don't echo script contents, add disabled "git clean -dfx" to build fresh * fix gitignore to not destroy en-US language project
1 parent 468ee87 commit e0d1c72

File tree

16 files changed

+89
-53
lines changed

16 files changed

+89
-53
lines changed

.gitignore

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ artifacts/
6060
StyleCopReport.xml
6161

6262
# Files built by Visual Studio
63+
*.dll
6364
*_i.c
6465
*_p.c
6566
*_i.h
@@ -336,4 +337,11 @@ ASALocalRun/
336337
*.PVS-Studio.*
337338

338339
# Classic-Shell specific ignores
339-
Skins/
340+
Skins/
341+
Setup/
342+
Setup64/
343+
Final/
344+
Output/
345+
Temp/
346+
Localization/
347+
*.bin

ClassicShellSrc/ClassicShellLib/ClassicShellLib.rc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ BEGIN
275275
IDS_OS_LANGUAGE "Current OS language"
276276
IDS_BMP_FILTERS "Image files (*.bmp,*.png)|*.bmp;*.png|"
277277
IDS_BMP_TITLE "Select Image File"
278-
IDS_SEARCH_PROMPT "Search settings"
278+
IDS_SEARCH_PROMPT "Search Settings"
279279
IDS_SETTING_SEARCH "Search Results"
280280
IDS_WEBSITE_TIP "Visit Classic Shell on the web - http://www.classicshell.net"
281281
IDS_LOCATE_SETTING "Locate setting"

ClassicShellSrc/ClassicShellSetup/__MakeFinal.bat

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
1+
@echo off
2+
set PATH=C:\Program Files\7-Zip\;C:\Program Files (x86)\HTML Help Workshop;C:\Program Files (x86)\WiX Toolset v3.11\bin\;%PATH%
3+
14
@cd %~dp0
25

6+
@rem Clean repository and build fresh. Will erase current changes so disabled by default.
7+
rem git clean -dfx
8+
39
@rem Default version
4-
@set CS_VERSION=4.4.0
10+
@set CS_VERSION=4.3.2
511

612
@if defined APPVEYOR_BUILD_VERSION (
713
@set CS_VERSION=%APPVEYOR_BUILD_VERSION%
@@ -13,9 +19,21 @@
1319
@call BuildBinaries.bat
1420
@if ERRORLEVEL 1 exit /b 1
1521

22+
1623
@call _BuildEnglish.bat
1724
@if ERRORLEVEL 1 exit /b 1
1825

26+
@rem Build other languages
27+
@call _BuildChineseCN.bat
28+
@call _BuildChineseTW.bat
29+
@call _BuildFrench.bat
30+
@call _BuildGerman.bat
31+
@call _BuildItalian.bat
32+
@call _BuildPolish.bat
33+
@call _BuildRussian.bat
34+
@call _BuildSpanish.bat
35+
@if ERRORLEVEL 1 exit /b 1
36+
1937
call BuildArchives.bat
2038

2139
@exit /b 0

ClassicShellSrc/ClassicStartMenu/ClassicStartMenu.rc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@ END
5252
// Version
5353
//
5454

55+
// Solution loading fail-safe
56+
#ifndef _PRODUCT_VERSION
57+
#define _PRODUCT_VERSION 4.3.2
58+
#endif
59+
#ifndef _PRODUCT_VERSION_STR
60+
#define _PRODUCT_VERSION_STR "4.3.2"
61+
#endif
62+
5563
VS_VERSION_INFO VERSIONINFO
5664
FILEVERSION _PRODUCT_VERSION
5765
PRODUCTVERSION _PRODUCT_VERSION
@@ -109,3 +117,4 @@ IDI_APPICON ICON "..\\ClassicShellSetup\\ClassicS
109117
/////////////////////////////////////////////////////////////////////////////
110118
#endif // not APSTUDIO_INVOKED
111119

120+
_PRODUCT_VERSOIN

ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartButton.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class CStartButton: public CWindowImpl<CStartButton>
7171
private:
7272
enum { TIMER_BLEND=1, TIMER_LEAVE=2 };
7373

74-
int m_TaskbarId;
74+
size_t m_TaskbarId;
7575
SIZE m_Size;
7676
HBITMAP m_Bitmap, m_Blendmap;
7777
unsigned int *m_Bits, *m_BlendBits;
@@ -121,7 +121,7 @@ CStartButton::CStartButton( void )
121121

122122
LRESULT CStartButton::OnCreate( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
123123
{
124-
int params=(int)(intptr_t)(((CREATESTRUCT*)lParam)->lpCreateParams);
124+
size_t params=(intptr_t)(((CREATESTRUCT*)lParam)->lpCreateParams);
125125
m_bRTL=(params&1)!=0;
126126
m_TaskbarId=params>>1;
127127
m_bSmallIcons=IsTaskbarSmallIcons();
@@ -605,8 +605,8 @@ static std::map<int,CStartButton> g_StartButtons;
605605

606606
HWND CreateStartButton( int taskbarId, HWND taskBar, HWND rebar, const RECT &rcTask )
607607
{
608-
bool bRTL=(GetWindowLong(rebar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)!=0;
609-
DWORD styleTopmost=GetWindowLong(taskBar,GWL_EXSTYLE)&WS_EX_TOPMOST;
608+
bool bRTL=(GetWindowLongPtr(rebar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)!=0;
609+
DWORD styleTopmost=GetWindowLongPtr(taskBar,GWL_EXSTYLE)&WS_EX_TOPMOST;
610610
CStartButton &button=g_StartButtons[taskbarId];
611611
button.Create(taskBar,NULL,NULL,WS_POPUP,styleTopmost|WS_EX_TOOLWINDOW|WS_EX_LAYERED,0U,(void*)(intptr_t)(taskbarId*2+(bRTL?1:0)));
612612
SIZE size=button.GetSize();

ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.cpp

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
#endif
3333

3434
const int MAIN_TASK_BAR=0;
35-
std::map<int,TaskbarInfo> g_TaskbarInfos;
35+
typedef std::map<size_t,TaskbarInfo> id_taskbar_map;
36+
id_taskbar_map g_TaskbarInfos;
3637
static int g_LastTaskbar=MAIN_TASK_BAR;
3738
static int g_NextTaskbar=0;
3839
HWND g_TaskBar, g_OwnerWindow;
@@ -67,7 +68,7 @@ static RECT g_TaskbarMargins;
6768
int g_CurrentCSMTaskbar=-1, g_CurrentWSMTaskbar=-1;
6869

6970
static void FindWindowsMenu( void );
70-
static void RecreateStartButton( int taskbarId );
71+
static void RecreateStartButton( size_t taskbarId );
7172
static bool WindowsMenuOpened( void );
7273

7374
static tSetWindowCompositionAttribute SetWindowCompositionAttribute;
@@ -302,7 +303,7 @@ class COwnerWindow: public CWindowImpl<COwnerWindow>
302303
if (LOWORD(wParam)!=WA_INACTIVE)
303304
return 0;
304305

305-
if (CMenuContainer::s_bPreventClosing && lParam && (::GetWindowLong((HWND)lParam,GWL_EXSTYLE)&WS_EX_TOPMOST))
306+
if (CMenuContainer::s_bPreventClosing && lParam && (::GetWindowLongPtr((HWND)lParam,GWL_EXSTYLE)&WS_EX_TOPMOST))
306307
return 0;
307308

308309
// check if another menu window is being activated
@@ -390,37 +391,37 @@ static const TaskbarInfo *GetDefaultTaskbarInfo( void )
390391
if (GetSettingBool(L"AllTaskbars"))
391392
{
392393
HMONITOR monitor=MonitorFromPoint(CPoint(GetMessagePos()),MONITOR_DEFAULTTONEAREST);
393-
for (std::map<int,TaskbarInfo>::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
394+
for (std::map<size_t,TaskbarInfo>::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
394395
{
395396
MONITORINFO info;
396397
HMONITOR monitor2=NULL;
397398
if (GetTaskbarPosition(it->second.taskBar,&info,&monitor2,NULL)!=0xFFFFFFFF && monitor2==monitor)
398399
return &it->second;
399400
}
400-
std::map<int,TaskbarInfo>::const_iterator it=g_TaskbarInfos.find(g_LastTaskbar);
401+
id_taskbar_map::const_iterator it=g_TaskbarInfos.find(g_LastTaskbar);
401402
if (it!=g_TaskbarInfos.end())
402403
return &it->second;
403404
}
404405
return &g_TaskbarInfos.begin()->second;
405406
}
406407

407-
TaskbarInfo *GetTaskbarInfo( int taskbarId )
408+
TaskbarInfo *GetTaskbarInfo( size_t taskbarId )
408409
{
409-
std::map<int,TaskbarInfo>::iterator it=g_TaskbarInfos.find(taskbarId);
410+
std::map<size_t,TaskbarInfo>::iterator it=g_TaskbarInfos.find(taskbarId);
410411
return (it==g_TaskbarInfos.end())?NULL:&it->second;
411412
}
412413

413414
static TaskbarInfo *FindTaskBarInfoButton( HWND button )
414415
{
415-
for (std::map<int,TaskbarInfo>::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
416+
for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
416417
if (it->second.startButton==button || it->second.oldButton==button)
417418
return &it->second;
418419
return NULL;
419420
}
420421

421422
static TaskbarInfo *FindTaskBarInfoBar( HWND bar )
422423
{
423-
for (std::map<int,TaskbarInfo>::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
424+
for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
424425
if (it->second.taskBar==bar)
425426
return &it->second;
426427
return NULL;
@@ -694,7 +695,7 @@ UINT GetTaskbarPosition( HWND taskBar, MONITORINFO *pInfo, HMONITOR *pMonitor, R
694695
}
695696

696697
// Returns true if the mouse is on the taskbar portion of the start button
697-
bool PointAroundStartButton( int taskbarId, const CPoint &pt )
698+
bool PointAroundStartButton( size_t taskbarId, const CPoint &pt )
698699
{
699700
const TaskbarInfo *taskBar=GetTaskbarInfo(taskbarId);
700701
if (!taskBar || !taskBar->startButton) return false;
@@ -708,7 +709,7 @@ bool PointAroundStartButton( int taskbarId, const CPoint &pt )
708709
GetWindowRect(taskBar->startButton,&rc);
709710
if (uEdge==ABE_LEFT || uEdge==ABE_RIGHT)
710711
return pt.y<rc.bottom;
711-
else if (GetWindowLong(taskBar->taskBar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)
712+
else if (GetWindowLongPtr(taskBar->taskBar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)
712713
return pt.x>rc.left;
713714
else
714715
return pt.x<rc.right;
@@ -752,7 +753,7 @@ void ResetHotCorners( void )
752753

753754
void RedrawTaskbars( void )
754755
{
755-
for (std::map<int,TaskbarInfo>::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
756+
for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
756757
InvalidateRect(it->second.taskBar,NULL,TRUE);
757758
}
758759

@@ -828,7 +829,7 @@ class CMonitorModeEvents: public IAppVisibilityEvents
828829
HMONITOR monitor;
829830
if (SUCCEEDED(pMonitor->GetHandle(&monitor)))
830831
{
831-
for (std::map<int,TaskbarInfo>::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
832+
for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
832833
{
833834
if (monitor==MonitorFromWindow(it->second.taskBar,MONITOR_DEFAULTTONULL))
834835
{
@@ -1046,7 +1047,7 @@ static LRESULT CALLBACK HookAppManager( int code, WPARAM wParam, LPARAM lParam )
10461047
return CallNextHookEx(NULL,code,wParam,lParam);
10471048
typedef BOOL (WINAPI *tGetWindowBand)(HWND,DWORD*);
10481049
static tGetWindowBand GetWindowBand=(tGetWindowBand)GetProcAddress(GetModuleHandle(L"user32.dll"),"GetWindowBand");
1049-
for (std::map<int,TaskbarInfo>::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
1050+
for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
10501051
{
10511052
DWORD band;
10521053
if (!GetWindowBand || !GetWindowBand(it->second.taskBar,&band) || band==1)
@@ -1091,7 +1092,7 @@ static LRESULT CALLBACK HookAppManager( int code, WPARAM wParam, LPARAM lParam )
10911092
}
10921093
if (corner==1)
10931094
{
1094-
for (std::map<int,TaskbarInfo>::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
1095+
for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
10951096
{
10961097
UINT uEdge=GetTaskbarPosition(it->second.taskBar,NULL,NULL,NULL);
10971098
if (uEdge==ABE_BOTTOM)
@@ -1739,9 +1740,9 @@ static LRESULT CALLBACK SubclassTaskBarProc( HWND hWnd, UINT uMsg, WPARAM wParam
17391740
else
17401741
{
17411742
zPos=pPos->hwndInsertAfter;
1742-
if (zPos==HWND_TOP && !(GetWindowLong(taskBar->startButton,GWL_EXSTYLE)&WS_EX_TOPMOST))
1743+
if (zPos==HWND_TOP && !(GetWindowLongPtr(taskBar->startButton,GWL_EXSTYLE)&WS_EX_TOPMOST))
17431744
zPos=HWND_TOPMOST;
1744-
if (zPos==HWND_TOPMOST && !(GetWindowLong(hWnd,GWL_EXSTYLE)&WS_EX_TOPMOST))
1745+
if (zPos==HWND_TOPMOST && !(GetWindowLongPtr(hWnd,GWL_EXSTYLE)&WS_EX_TOPMOST))
17451746
zPos=HWND_TOP;
17461747
if (zPos==HWND_BOTTOM)
17471748
buttonFlags|=SWP_NOZORDER;
@@ -1762,7 +1763,7 @@ static LRESULT CALLBACK SubclassTaskBarProc( HWND hWnd, UINT uMsg, WPARAM wParam
17621763
}
17631764
else
17641765
{
1765-
if (GetWindowLong(taskBar->rebar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)
1766+
if (GetWindowLongPtr(taskBar->rebar,GWL_EXSTYLE)&WS_EX_LAYOUTRTL)
17661767
x=rcTask.right-taskBar->startButtonSize.cx;
17671768
else
17681769
x=rcTask.left;
@@ -2386,7 +2387,7 @@ void UpdateTaskBars( TUpdateTaskbar update )
23862387
DeleteDC(hdc);
23872388
}
23882389
}
2389-
for (std::map<int,TaskbarInfo>::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
2390+
for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
23902391
RedrawWindow(it->second.taskBar,NULL,NULL,RDW_INVALIDATE|RDW_ALLCHILDREN);
23912392
}
23922393
return;
@@ -2406,7 +2407,7 @@ void UpdateTaskBars( TUpdateTaskbar update )
24062407
}
24072408
if (g_bTrimHooks)
24082409
bButton=false;
2409-
for (std::map<int,TaskbarInfo>::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
2410+
for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
24102411
{
24112412
TaskbarInfo &taskBar=it->second;
24122413
bool bButton2=bButton && (bAll || taskBar.taskBar==g_TaskBar);
@@ -2550,7 +2551,7 @@ void UpdateTaskBars( TUpdateTaskbar update )
25502551
}
25512552
}
25522553
}
2553-
for (std::map<int,TaskbarInfo>::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
2554+
for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
25542555
{
25552556
TaskbarInfo &taskBar=it->second;
25562557
SendMessage(taskBar.taskBar,WM_SETTINGCHANGE,0,0);
@@ -3006,9 +3007,9 @@ if (!g_bTrimHooks)
30063007
UpdateTaskBars(TASKBAR_UPDATE_TEXTURE);
30073008
}
30083009

3009-
static void RecreateStartButton( int taskbarId )
3010+
static void RecreateStartButton( size_t taskbarId )
30103011
{
3011-
for (std::map<int,TaskbarInfo>::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
3012+
for (id_taskbar_map::iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
30123013
{
30133014
TaskbarInfo &taskBar=it->second;
30143015
if (taskbarId>=0 && taskBar.taskbarId!=taskbarId)
@@ -3133,7 +3134,7 @@ static void CleanStartMenuDLL( void )
31333134
ResetHotCorners();
31343135
UpdateTaskBars(TASKBAR_CLEAR);
31353136
g_WinStartButton=NULL;
3136-
for (std::map<int,TaskbarInfo>::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
3137+
for (id_taskbar_map::const_iterator it=g_TaskbarInfos.begin();it!=g_TaskbarInfos.end();++it)
31373138
{
31383139
if (it->second.rebar)
31393140
RemoveWindowSubclass(it->second.rebar,SubclassRebarProc,'CLSH');

ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ struct TaskbarInfo
7171
bool HasPart( HWND part ) const;
7272
};
7373

74-
TaskbarInfo *GetTaskbarInfo( int taskbarId );
74+
TaskbarInfo *GetTaskbarInfo( size_t taskbarId );
7575
UINT GetTaskbarPosition( HWND taskBar, MONITORINFO *pInfo, HMONITOR *pMonitor, RECT *pRc );
7676

7777
extern HWND STARTMENUAPI g_TaskBar, g_OwnerWindow;
@@ -113,7 +113,7 @@ enum THotkeys
113113
// Set the hotkeys and controls for the start menu
114114
void EnableHotkeys( THotkeys enable );
115115

116-
bool PointAroundStartButton( int taskbarId, const CPoint &pt=CPoint(GetMessagePos()) );
116+
bool PointAroundStartButton( size_t taskbarId, const CPoint &pt=CPoint(GetMessagePos()) );
117117
void ResetHotCorners( void );
118118
void RedrawTaskbars( void );
119119

ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ClassicStartMenuDLL.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1207,12 +1207,12 @@ BEGIN
12071207
IDS_MOUSE_MONITOR_TIP2 "When this is checked, pressing Shift+Win will open the Windows Start menu on the same monitor as the mouse pointer"
12081208
IDS_PIC_PATH "User picture"
12091209
IDS_PIC_PATH_TIP "Override the default user picture with another image"
1210-
IDS_SEARCH_METROS "Search PC settings"
1210+
IDS_SEARCH_METROS "Search Settings"
12111211
END
12121212

12131213
STRINGTABLE
12141214
BEGIN
1215-
IDS_SEARCH_METROS_TIP "When this is checked, the search results will include the modern PC settings"
1215+
IDS_SEARCH_METROS_TIP "When this is checked, the search results will include the modern Settings window"
12161216
IDS_SHOW_APPS_MENU "Show Apps menu"
12171217
IDS_SHOW_APPS_MENU_TIP "Enable the Apps menu"
12181218
IDS_SHOW_APPS_MENU_TIP2 "Enable the Apps menu\nWarning: You don't have the Apps item in your custom menu, so this setting will be ignored"
@@ -1244,8 +1244,8 @@ BEGIN
12441244
IDS_TASK_OPACITY_TIP "Set the opacity for the taskbar (0 - transparent, 100 - opaque)"
12451245
IDS_TASK_COLOR "Taskbar color"
12461246
IDS_TASK_COLOR_TIP "Set the color for the taskbar"
1247-
IDS_PCSETTINGS "PC Settings"
1248-
IDS_PCSETTINGS_TIP "Shows the modern PC settings"
1247+
IDS_PCSETTINGS "Settings"
1248+
IDS_PCSETTINGS_TIP "Shows the modern Settings window"
12491249
IDS_HIGHLIGHT_NEWAPPS "Highlight newly installed apps"
12501250
IDS_HIGHLIGHT_NEWAPPS_TIP
12511251
"When this is checked, the start menu will highlight the apps that were recently installed"

ClassicShellSrc/ClassicStartMenu/ClassicStartMenuDLL/ItemManager.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1726,7 +1726,7 @@ void CItemManager::AddOldItems( const std::vector<unsigned> &hashes )
17261726
if (m_OldItemInfos.empty())
17271727
regItems.SetBinaryValue(L"OldItems",NULL,0);
17281728
else
1729-
regItems.SetBinaryValue(L"OldItems",&m_OldItemInfos[0],(int)m_OldItemInfos.size()*sizeof(OldItemInfo));
1729+
regItems.SetBinaryValue(L"OldItems",&m_OldItemInfos[0],ULONG((size_t)m_OldItemInfos.size()*sizeof(OldItemInfo)));
17301730
}
17311731

17321732
CString GetPropertyStoreString( IPropertyStore *pStore, REFPROPERTYKEY key )

0 commit comments

Comments
 (0)