mirror of
https://github.com/Open-Shell/Open-Shell-Menu.git
synced 2026-04-13 20:28:31 +10:00
* Rebrand to Open-Shell * Slight installer branding improvement
This commit is contained in:
226
Src/Setup/Utility/LoggingOptions.cpp
Normal file
226
Src/Setup/Utility/LoggingOptions.cpp
Normal file
@@ -0,0 +1,226 @@
|
||||
// Classic Shell (c) 2009-2017, Ivo Beltchev
|
||||
// Open-Shell (c) 2017-2018, The Open-Shell Team
|
||||
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
|
||||
|
||||
#ifndef _WIN64
|
||||
|
||||
#include "resource.h"
|
||||
#include <atlbase.h>
|
||||
#include <atltypes.h>
|
||||
#include <atlstr.h>
|
||||
#include <atlwin.h>
|
||||
#include "..\StartMenu\StartMenuDLL\LogManager.h"
|
||||
#include "StringUtils.h"
|
||||
#include <shlobj.h>
|
||||
|
||||
static int g_MenuCheckboxes[][2]=
|
||||
{
|
||||
{IDC_CHECKOPEN, LOG_OPEN},
|
||||
{IDC_CHECKITEMS, LOG_ITEMS},
|
||||
{IDC_CHECKEXECUTE, LOG_EXECUTE},
|
||||
{IDC_CHECKMFU, LOG_MFU},
|
||||
{IDC_CHECKNEW, LOG_NEW},
|
||||
{IDC_CHECKAPPS, LOG_APPS},
|
||||
{IDC_CHECKSEARCH, LOG_SEARCH},
|
||||
{IDC_CHECKSEARCH_SQL, LOG_SEARCH_SQL},
|
||||
{IDC_CHECKMOUSE, LOG_MOUSE},
|
||||
{IDC_CHECKCACHE, LOG_CACHE},
|
||||
};
|
||||
|
||||
static int g_FileLinks[]=
|
||||
{
|
||||
IDC_SYSLINKSTART,
|
||||
IDC_SYSLINKCACHE,
|
||||
IDC_SYSLINKSTARTUP,
|
||||
IDC_SYSLINKEXPLORER,
|
||||
IDC_SYSLINKIE,
|
||||
};
|
||||
|
||||
class CLoggingDialog: public CDialogImpl<CLoggingDialog>
|
||||
{
|
||||
public:
|
||||
CLoggingDialog( void ) {}
|
||||
|
||||
BEGIN_MSG_MAP( CLoggingDialog )
|
||||
MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog )
|
||||
COMMAND_HANDLER( IDOK, BN_CLICKED, OnOK )
|
||||
COMMAND_HANDLER( IDCANCEL, BN_CLICKED, OnCancel )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKSTART, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKSTART, NM_RETURN, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKCACHE, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKCACHE, NM_RETURN, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKSTARTUP, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKSTARTUP, NM_RETURN, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKEXPLORER, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKEXPLORER, NM_RETURN, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKIE, NM_CLICK, OnLink )
|
||||
NOTIFY_HANDLER( IDC_SYSLINKIE, NM_RETURN, OnLink )
|
||||
REFLECT_NOTIFICATIONS()
|
||||
END_MSG_MAP()
|
||||
|
||||
enum { IDD=IDD_LOGSETTINGS };
|
||||
|
||||
protected:
|
||||
LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
|
||||
private:
|
||||
DWORD GetSetting( const wchar_t *regPath, const wchar_t *name );
|
||||
void SetSetting( const wchar_t *regPath, const wchar_t *name, DWORD value );
|
||||
CString GetPathForLink( int link );
|
||||
};
|
||||
|
||||
DWORD CLoggingDialog::GetSetting( const wchar_t *regPath, const wchar_t *name )
|
||||
{
|
||||
CRegKey regKey;
|
||||
if (regKey.Open(HKEY_CURRENT_USER,regPath,KEY_READ|KEY_WOW64_64KEY)==ERROR_SUCCESS)
|
||||
{
|
||||
DWORD value;
|
||||
if (regKey.QueryDWORDValue(name,value)==ERROR_SUCCESS)
|
||||
return value;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void CLoggingDialog::SetSetting( const wchar_t *regPath, const wchar_t *name, DWORD value )
|
||||
{
|
||||
CRegKey regKey;
|
||||
if (regKey.Create(HKEY_CURRENT_USER,regPath)==ERROR_SUCCESS)
|
||||
regKey.SetDWORDValue(name,value);
|
||||
}
|
||||
|
||||
CString CLoggingDialog::GetPathForLink( int link )
|
||||
{
|
||||
const wchar_t *path=NULL;
|
||||
if (link==IDC_SYSLINKSTART)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\StartMenuLog.txt";
|
||||
else if (link==IDC_SYSLINKCACHE)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\DataCache.txt";
|
||||
else if (link==IDC_SYSLINKSTARTUP)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\StartupLog.txt";
|
||||
else if (link==IDC_SYSLINKEXPLORER)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\ExplorerLog.txt";
|
||||
else if (link==IDC_SYSLINKIE)
|
||||
path=L"%LOCALAPPDATA%\\OpenShell\\ClassicIELog.txt";
|
||||
else
|
||||
return CString();
|
||||
|
||||
wchar_t fname[_MAX_PATH];
|
||||
Strcpy(fname,_countof(fname),path);
|
||||
DoEnvironmentSubst(fname,_countof(fname));
|
||||
return fname;
|
||||
}
|
||||
|
||||
LRESULT CLoggingDialog::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
|
||||
{
|
||||
DWORD log=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogCategories");
|
||||
for (int i=0;i<_countof(g_MenuCheckboxes);i++)
|
||||
{
|
||||
if (log&g_MenuCheckboxes[i][1])
|
||||
CheckDlgButton(g_MenuCheckboxes[i][0],BST_CHECKED);
|
||||
}
|
||||
|
||||
log=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogStartup");
|
||||
if (log)
|
||||
CheckDlgButton(IDC_CHECKSTARTUP,BST_CHECKED);
|
||||
|
||||
log=GetSetting(L"Software\\OpenShell\\ClassicExplorer\\Settings",L"LogLevel");
|
||||
if (log)
|
||||
CheckDlgButton(IDC_CHECKEXPLORER,BST_CHECKED);
|
||||
|
||||
log=GetSetting(L"Software\\OpenShell\\ClassicIE\\Settings",L"LogLevel");
|
||||
if (log)
|
||||
CheckDlgButton(IDC_CHECKIE,BST_CHECKED);
|
||||
|
||||
CWindow tooltip;
|
||||
tooltip.Create(TOOLTIPS_CLASS,m_hWnd,NULL,NULL,WS_POPUP|TTS_NOPREFIX);
|
||||
for (int i=0;i<_countof(g_FileLinks);i++)
|
||||
{
|
||||
TOOLINFO tool={sizeof(tool),TTF_SUBCLASS|TTF_IDISHWND,m_hWnd,(UINT_PTR)GetDlgItem(g_FileLinks[i]).m_hWnd};
|
||||
CString str=GetPathForLink(g_FileLinks[i]);
|
||||
tool.lpszText=(LPWSTR)(LPCWSTR)str;
|
||||
tooltip.SendMessage(TTM_ADDTOOL,0,(LPARAM)&tool);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
LRESULT CLoggingDialog::OnOK( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
int res=0;
|
||||
DWORD log=0;
|
||||
for (int i=0;i<_countof(g_MenuCheckboxes);i++)
|
||||
{
|
||||
if (IsDlgButtonChecked(g_MenuCheckboxes[i][0])==BST_CHECKED)
|
||||
log|=g_MenuCheckboxes[i][1];
|
||||
}
|
||||
if (log!=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogCategories"))
|
||||
{
|
||||
SetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogCategories",log);
|
||||
res=1;
|
||||
}
|
||||
|
||||
log=IsDlgButtonChecked(IDC_CHECKSTARTUP)==BST_CHECKED?1:0;
|
||||
if (log!=GetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogStartup"))
|
||||
{
|
||||
SetSetting(L"Software\\OpenShell\\StartMenu\\Settings",L"LogStartup",log);
|
||||
res=1;
|
||||
}
|
||||
|
||||
log=IsDlgButtonChecked(IDC_CHECKEXPLORER)==BST_CHECKED?1:0;
|
||||
if (log!=GetSetting(L"Software\\OpenShell\\ClassicExplorer\\Settings",L"LogLevel"))
|
||||
{
|
||||
SetSetting(L"Software\\OpenShell\\ClassicExplorer\\Settings",L"LogLevel",log);
|
||||
res=1;
|
||||
}
|
||||
|
||||
log=IsDlgButtonChecked(IDC_CHECKIE)==BST_CHECKED?1:0;
|
||||
if (log!=GetSetting(L"Software\\OpenShell\\ClassicIE\\Settings",L"LogLevel"))
|
||||
{
|
||||
SetSetting(L"Software\\OpenShell\\ClassicIE\\Settings",L"LogLevel",log);
|
||||
res=1;
|
||||
}
|
||||
|
||||
EndDialog(res);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CLoggingDialog::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
EndDialog(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CLoggingDialog::OnLink( int idCtrl, LPNMHDR pnmh, BOOL& bHandled )
|
||||
{
|
||||
CString path=GetPathForLink(idCtrl);
|
||||
if (!path.IsEmpty())
|
||||
{
|
||||
PIDLIST_ABSOLUTE pidl;
|
||||
if (SUCCEEDED(SHParseDisplayName(path,NULL,&pidl,0,NULL)))
|
||||
{
|
||||
HRESULT hr=SHOpenFolderAndSelectItems(pidl,0,NULL,0);
|
||||
ILFree(pidl);
|
||||
}
|
||||
else
|
||||
{
|
||||
wchar_t dir[_MAX_PATH];
|
||||
Strcpy(dir,_countof(dir),path);
|
||||
PathRemoveFileSpec(dir);
|
||||
ShellExecute(NULL,L"open",dir,NULL,dir,SW_SHOWNORMAL);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void EditLoggingOptions( void )
|
||||
{
|
||||
if (CLoggingDialog().DoModal(NULL))
|
||||
{
|
||||
MessageBox(NULL,L"The changes to the logging options will take effect after you restart.",L"Logging options",MB_OK|MB_ICONINFORMATION);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
1197
Src/Setup/Utility/ManualUninstall.cpp
Normal file
1197
Src/Setup/Utility/ManualUninstall.cpp
Normal file
File diff suppressed because it is too large
Load Diff
441
Src/Setup/Utility/MetroColorViewer.cpp
Normal file
441
Src/Setup/Utility/MetroColorViewer.cpp
Normal file
@@ -0,0 +1,441 @@
|
||||
// Classic Shell (c) 2009-2017, Ivo Beltchev
|
||||
// Open-Shell (c) 2017-2018, The Open-Shell Team
|
||||
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
|
||||
|
||||
#ifndef _WIN64
|
||||
|
||||
#define STRICT_TYPED_ITEMIDS
|
||||
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit
|
||||
#include <atlbase.h>
|
||||
#include <atltypes.h>
|
||||
#include <atlstr.h>
|
||||
#include <atlwin.h>
|
||||
#include "resource.h"
|
||||
#include "StringUtils.h"
|
||||
#include "ResourceHelper.h"
|
||||
|
||||
//#define WRITE_COLORS
|
||||
//#define READ_COLORS
|
||||
|
||||
#ifdef READ_COLORS
|
||||
#undef WRITE_COLORS
|
||||
#endif
|
||||
|
||||
static struct
|
||||
{
|
||||
const wchar_t *name;
|
||||
int code;
|
||||
} g_SystemColors[]=
|
||||
{
|
||||
{L"SystemScrollbar",COLOR_SCROLLBAR},
|
||||
{L"SystemBackground",COLOR_BACKGROUND},
|
||||
{L"SystemActiveCaption",COLOR_ACTIVECAPTION},
|
||||
{L"SystemInactiveCaption",COLOR_INACTIVECAPTION},
|
||||
{L"SystemMenu",COLOR_MENU},
|
||||
{L"SystemWindow",COLOR_WINDOW},
|
||||
{L"SystemWindowFrame",COLOR_WINDOWFRAME},
|
||||
{L"SystemMenuText",COLOR_MENUTEXT},
|
||||
{L"SystemWindowText",COLOR_WINDOWTEXT},
|
||||
{L"SystemCaptionText",COLOR_CAPTIONTEXT},
|
||||
{L"SystemActiveBorder",COLOR_ACTIVEBORDER},
|
||||
{L"SystemInactiveBorder",COLOR_INACTIVEBORDER},
|
||||
{L"SystemAppWorkspace",COLOR_APPWORKSPACE},
|
||||
{L"SystemHighlight",COLOR_HIGHLIGHT},
|
||||
{L"SystemHighlightText",COLOR_HIGHLIGHTTEXT},
|
||||
{L"SystemBtnFace",COLOR_BTNFACE},
|
||||
{L"SystemBtnShadow",COLOR_BTNSHADOW},
|
||||
{L"SystemGrayText",COLOR_GRAYTEXT},
|
||||
{L"SystemBtnText",COLOR_BTNTEXT},
|
||||
{L"SystemInactiveCaptionText",COLOR_INACTIVECAPTIONTEXT},
|
||||
{L"SystemBtnHighlight",COLOR_BTNHIGHLIGHT},
|
||||
{L"System3DDKShadow",COLOR_3DDKSHADOW},
|
||||
{L"System3DLight",COLOR_3DLIGHT},
|
||||
{L"SystemInfoText",COLOR_INFOTEXT},
|
||||
{L"SystemInfoBK",COLOR_INFOBK},
|
||||
{L"SystemHotLight",COLOR_HOTLIGHT},
|
||||
{L"SystemGradientActiveCaption",COLOR_GRADIENTACTIVECAPTION},
|
||||
{L"SystemGradientInactiveCaption",COLOR_GRADIENTINACTIVECAPTION},
|
||||
{L"SystemMenuHilight",COLOR_MENUHILIGHT},
|
||||
{L"SystemMenuBar",COLOR_MENUBAR},
|
||||
};
|
||||
|
||||
#ifndef READ_COLORS
|
||||
typedef int (WINAPI *TGetImmersiveUserColorSetPreference)(bool bForceCheckRegistry, bool bSkipCheckOnFail);
|
||||
typedef int (WINAPI *TGetImmersiveColorSetCount)();
|
||||
typedef DWORD (WINAPI *TGetImmersiveColorFromColorSetEx)(UINT dwImmersiveColorSet, UINT dwImmersiveColorType, bool bIgnoreHighContrast, UINT dwHighContrastCacheMode);
|
||||
typedef const wchar_t **(WINAPI *TGetImmersiveColorNamedTypeByIndex)(UINT dwImmersiveColorType);
|
||||
typedef int (WINAPI *TGetImmersiveColorTypeFromName)(const wchar_t *name);
|
||||
|
||||
static TGetImmersiveUserColorSetPreference GetImmersiveUserColorSetPreference;
|
||||
static TGetImmersiveColorFromColorSetEx GetImmersiveColorFromColorSetEx;
|
||||
static TGetImmersiveColorSetCount GetImmersiveColorSetCount;
|
||||
static TGetImmersiveColorNamedTypeByIndex GetImmersiveColorNamedTypeByIndex;
|
||||
static TGetImmersiveColorTypeFromName GetImmersiveColorTypeFromName;
|
||||
#endif
|
||||
|
||||
struct MetroColor
|
||||
{
|
||||
CString name;
|
||||
CString NAME;
|
||||
int type;
|
||||
DWORD color;
|
||||
};
|
||||
|
||||
static std::vector<MetroColor> g_MetroColors;
|
||||
static int g_MaxMetroColorType;
|
||||
|
||||
class CMetroColorViewer: public CDialogImpl<CMetroColorViewer>
|
||||
{
|
||||
public:
|
||||
CMetroColorViewer( void );
|
||||
|
||||
BEGIN_MSG_MAP( CMetroColorViewer )
|
||||
MESSAGE_HANDLER( WM_INITDIALOG, OnInitDialog )
|
||||
MESSAGE_HANDLER( WM_CLOSE, OnClose )
|
||||
COMMAND_HANDLER( IDCANCEL, BN_CLICKED, OnCancel )
|
||||
COMMAND_HANDLER( IDC_EDIT1, EN_UPDATE, OnUpdateSet )
|
||||
COMMAND_HANDLER( IDC_EDIT2, EN_UPDATE, OnUpdateFilter )
|
||||
NOTIFY_HANDLER( IDC_LIST1, NM_CUSTOMDRAW, OnCustomDraw )
|
||||
NOTIFY_HANDLER( IDC_LIST1, LVN_COLUMNCLICK, OnColumnClick )
|
||||
REFLECT_NOTIFICATIONS()
|
||||
END_MSG_MAP()
|
||||
|
||||
enum { IDD=IDD_COLORS };
|
||||
|
||||
protected:
|
||||
LRESULT OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnClose( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled );
|
||||
LRESULT OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnUpdateSet( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnUpdateFilter( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled );
|
||||
LRESULT OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
LRESULT OnColumnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled );
|
||||
|
||||
private:
|
||||
int m_ColorSet;
|
||||
int m_SortColumn;
|
||||
CString m_Filter;
|
||||
void UpdateRows( void );
|
||||
void UpdateColors( void );
|
||||
void SetSortColumn( int sort );
|
||||
|
||||
static int CALLBACK CompareFunc( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort );
|
||||
};
|
||||
|
||||
CMetroColorViewer::CMetroColorViewer( void )
|
||||
{
|
||||
m_ColorSet=-1;
|
||||
m_SortColumn=-1;
|
||||
}
|
||||
|
||||
int CALLBACK CMetroColorViewer::CompareFunc( LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort )
|
||||
{
|
||||
if (lParamSort==1)
|
||||
{
|
||||
// type
|
||||
lParam1=g_MetroColors[lParam1].type;
|
||||
lParam2=g_MetroColors[lParam2].type;
|
||||
}
|
||||
if (lParam1<lParam2) return -1;
|
||||
if (lParam1>lParam2) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnInitDialog( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
|
||||
{
|
||||
#ifdef READ_COLORS
|
||||
m_ColorSet=0;
|
||||
int setCount=1;
|
||||
GetDlgItem(IDC_EDIT1).EnableWindow(FALSE);
|
||||
#else
|
||||
int setCount=GetImmersiveColorSetCount();
|
||||
#endif
|
||||
SendDlgItemMessage(IDC_SPIN1,UDM_SETRANGE,0,MAKELONG(setCount-1,-1));
|
||||
SetDlgItemInt(IDC_EDIT1,-1,TRUE);
|
||||
SendDlgItemMessage(IDC_LIST1,LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER,LVS_EX_FULLROWSELECT|LVS_EX_DOUBLEBUFFER);
|
||||
|
||||
HWND list=GetDlgItem(IDC_LIST1);
|
||||
{
|
||||
LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,380,L"Name"};
|
||||
ListView_InsertColumn(list,0,&column);
|
||||
}
|
||||
{
|
||||
LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,50,L"#"};
|
||||
ListView_InsertColumn(list,1,&column);
|
||||
}
|
||||
{
|
||||
LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,100,L"Code"};
|
||||
ListView_InsertColumn(list,2,&column);
|
||||
}
|
||||
{
|
||||
LVCOLUMN column={LVCF_WIDTH|LVCF_TEXT,0,100,L"Color"};
|
||||
ListView_InsertColumn(list,3,&column);
|
||||
}
|
||||
int order[]={1,0,2,3};
|
||||
ListView_SetColumnOrderArray(list,_countof(order),order);
|
||||
SetSortColumn(1);
|
||||
|
||||
UpdateRows();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void CMetroColorViewer::SetSortColumn( int sort )
|
||||
{
|
||||
CWindow list=GetDlgItem(IDC_LIST1);
|
||||
list.SendMessage(LVM_SETSELECTEDCOLUMN,m_SortColumn);
|
||||
CWindow header=ListView_GetHeader(list);
|
||||
HDITEM hdItem= {HDI_FORMAT};
|
||||
hdItem.fmt= HDF_LEFT|HDF_STRING;
|
||||
if (m_SortColumn>=0)
|
||||
header.SendMessage(HDM_SETITEM,m_SortColumn,(LPARAM)&hdItem);
|
||||
hdItem.fmt|= HDF_SORTDOWN;
|
||||
m_SortColumn=sort;
|
||||
header.SendMessage(HDM_SETITEM,m_SortColumn,(LPARAM)&hdItem);
|
||||
}
|
||||
|
||||
void CMetroColorViewer::UpdateRows( void )
|
||||
{
|
||||
CWindow list=GetDlgItem(IDC_LIST1);
|
||||
if (!list.IsWindow()) return;
|
||||
|
||||
std::vector<CString> tokens;
|
||||
for (const wchar_t *str=m_Filter;*str;)
|
||||
{
|
||||
wchar_t token[256];
|
||||
str=GetToken(str,token,_countof(token),L" ");
|
||||
if (token[0])
|
||||
tokens.push_back(token);
|
||||
}
|
||||
list.SetRedraw(FALSE);
|
||||
ListView_DeleteAllItems(list);
|
||||
for (int i=0;i<(int)g_MetroColors.size();i++)
|
||||
{
|
||||
const MetroColor &color=g_MetroColors[i];
|
||||
bool found=true;
|
||||
for (std::vector<CString>::const_iterator it=tokens.begin();it!=tokens.end();++it)
|
||||
{
|
||||
if (!wcsstr(color.NAME,*it))
|
||||
{
|
||||
found=false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) continue;
|
||||
LVITEM item={LVIF_PARAM|LVIF_TEXT};
|
||||
item.lParam=i;
|
||||
item.pszText=(wchar_t*)(const wchar_t*)color.name;
|
||||
item.iItem=10000;
|
||||
int idx=ListView_InsertItem(list,&item);
|
||||
|
||||
wchar_t text[20];
|
||||
Sprintf(text,_countof(text),L"%d",color.type);
|
||||
ListView_SetItemText(list,idx,1,text);
|
||||
}
|
||||
ListView_SortItems(list,CompareFunc,m_SortColumn);
|
||||
list.SetRedraw(TRUE);
|
||||
UpdateColors();
|
||||
}
|
||||
|
||||
void CMetroColorViewer::UpdateColors( void )
|
||||
{
|
||||
CWindow list=GetDlgItem(IDC_LIST1);
|
||||
if (!list.IsWindow()) return;
|
||||
#ifndef READ_COLORS
|
||||
int set=m_ColorSet>=0?m_ColorSet:GetImmersiveUserColorSetPreference(false,false);
|
||||
#endif
|
||||
int count=ListView_GetItemCount(list);
|
||||
list.SetRedraw(FALSE);
|
||||
for (int i=0;i<count;i++)
|
||||
{
|
||||
LVITEM item={LVIF_PARAM};
|
||||
item.iItem=i;
|
||||
ListView_GetItem(list,&item);
|
||||
int idx=(int)item.lParam;
|
||||
COLORREF color;
|
||||
#ifndef READ_COLORS
|
||||
if (g_MetroColors[idx].type<=g_MaxMetroColorType)
|
||||
color=GetImmersiveColorFromColorSetEx(set,g_MetroColors[idx].type,true,0);
|
||||
else
|
||||
#endif
|
||||
color=g_MetroColors[idx].color;
|
||||
wchar_t text[20];
|
||||
Sprintf(text,_countof(text),L"%02X%02X%02X%02X",(color>>24)&0xFF,color&0xFF,(color>>8)&0xFF,(color>>16)&0xFF);
|
||||
ListView_SetItemText(list,i,2,text);
|
||||
}
|
||||
list.SetRedraw(TRUE);
|
||||
::InvalidateRect(list,NULL,TRUE);
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnClose( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled )
|
||||
{
|
||||
EndDialog(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnCancel( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
if (GetFocus()==GetDlgItem(IDC_EDIT2))
|
||||
SetDlgItemText(IDC_EDIT2,L"");
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnUpdateSet( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
m_ColorSet=GetDlgItemInt(IDC_EDIT1);
|
||||
UpdateColors();
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnUpdateFilter( WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled )
|
||||
{
|
||||
CString filter;
|
||||
GetDlgItemText(IDC_EDIT2,filter);
|
||||
filter.MakeUpper();
|
||||
if (filter!=m_Filter)
|
||||
{
|
||||
m_Filter=filter;
|
||||
UpdateRows();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnCustomDraw( int idCtrl, LPNMHDR pnmh, BOOL& bHandled )
|
||||
{
|
||||
NMLVCUSTOMDRAW *pDraw=(NMLVCUSTOMDRAW*)pnmh;
|
||||
if (pDraw->nmcd.dwDrawStage==CDDS_PREPAINT)
|
||||
return CDRF_NOTIFYITEMDRAW;
|
||||
if (pDraw->nmcd.dwDrawStage==CDDS_ITEMPREPAINT)
|
||||
return CDRF_NOTIFYSUBITEMDRAW;
|
||||
if (pDraw->nmcd.dwDrawStage==(CDDS_ITEMPREPAINT|CDDS_SUBITEM) && pDraw->iSubItem==3)
|
||||
{
|
||||
RECT rc;
|
||||
ListView_GetSubItemRect(pnmh->hwndFrom,pDraw->nmcd.dwItemSpec,pDraw->iSubItem,LVIR_BOUNDS,&rc);
|
||||
DWORD color;
|
||||
#ifndef READ_COLORS
|
||||
if (g_MetroColors[pDraw->nmcd.lItemlParam].type<=g_MaxMetroColorType)
|
||||
{
|
||||
int set=m_ColorSet>=0?m_ColorSet:GetImmersiveUserColorSetPreference(false,false);
|
||||
color=GetImmersiveColorFromColorSetEx(set,g_MetroColors[pDraw->nmcd.lItemlParam].type,true,0);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
color=g_MetroColors[pDraw->nmcd.lItemlParam].color;
|
||||
SetDCBrushColor(pDraw->nmcd.hdc,color&0xFFFFFF);
|
||||
FillRect(pDraw->nmcd.hdc,&rc,(HBRUSH)GetStockObject(DC_BRUSH));
|
||||
return CDRF_SKIPDEFAULT;
|
||||
}
|
||||
return CDRF_DODEFAULT;
|
||||
}
|
||||
|
||||
LRESULT CMetroColorViewer::OnColumnClick( int idCtrl, LPNMHDR pnmh, BOOL& bHandled )
|
||||
{
|
||||
NMLISTVIEW *pSort=(NMLISTVIEW *)pnmh;
|
||||
if (pSort->iSubItem==0 || pSort->iSubItem==1)
|
||||
{
|
||||
SetSortColumn(pSort->iSubItem);
|
||||
ListView_SortItems(pnmh->hwndFrom,CompareFunc,m_SortColumn);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ShowMetroColorViewer( void )
|
||||
{
|
||||
#ifndef READ_COLORS
|
||||
HMODULE hUxTheme=LoadLibrary(L"uxtheme.dll");
|
||||
DWORD ver=GetVersionEx(hUxTheme);
|
||||
if (hUxTheme && ver>=0x6020000)
|
||||
{
|
||||
GetImmersiveUserColorSetPreference=(TGetImmersiveUserColorSetPreference)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(98));
|
||||
GetImmersiveColorFromColorSetEx=(TGetImmersiveColorFromColorSetEx)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(95));
|
||||
GetImmersiveColorSetCount=(TGetImmersiveColorSetCount)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(94));
|
||||
GetImmersiveColorNamedTypeByIndex=(TGetImmersiveColorNamedTypeByIndex)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(100));
|
||||
GetImmersiveColorTypeFromName=(TGetImmersiveColorTypeFromName)GetProcAddress(hUxTheme,MAKEINTRESOURCEA(96));
|
||||
}
|
||||
if (GetImmersiveUserColorSetPreference && GetImmersiveColorFromColorSetEx && GetImmersiveColorSetCount && GetImmersiveColorNamedTypeByIndex && GetImmersiveColorTypeFromName)
|
||||
#endif
|
||||
{
|
||||
#ifdef READ_COLORS
|
||||
FILE *fin=NULL;
|
||||
fopen_s(&fin,"d:\\colors.txt","rt");
|
||||
#endif
|
||||
#ifdef WRITE_COLORS
|
||||
FILE *fout=NULL;
|
||||
fopen_s(&fout,"d:\\colors.txt","wt");
|
||||
#endif
|
||||
#ifndef READ_COLORS
|
||||
int set=GetImmersiveUserColorSetPreference(false,false);
|
||||
#endif
|
||||
g_MaxMetroColorType=0;
|
||||
for (int i=0;;i++)
|
||||
{
|
||||
const wchar_t *name=NULL;
|
||||
int type=i;
|
||||
COLORREF color=0;
|
||||
|
||||
#ifdef READ_COLORS
|
||||
char buf[200]={0};
|
||||
if (fin) fgets(buf,_countof(buf),fin);
|
||||
#endif
|
||||
wchar_t text[256];
|
||||
#ifdef READ_COLORS
|
||||
CStringW str;
|
||||
if (Strlen(buf)>9)
|
||||
{
|
||||
str=buf+9;
|
||||
str.Trim(L"\r\n");
|
||||
name=str;
|
||||
}
|
||||
#else
|
||||
const wchar_t **ptr=GetImmersiveColorNamedTypeByIndex(i);
|
||||
if (ptr)
|
||||
name=*ptr;
|
||||
#endif
|
||||
if (!name)
|
||||
break;
|
||||
Sprintf(text,_countof(text),L"Immersive%s",name);
|
||||
#ifdef READ_COLORS
|
||||
char *end;
|
||||
color=strtoul(buf,&end,16);
|
||||
color=(color&0xFF00FF00)|((color>>16)&0xFF)|((color&0xFF)<<16);
|
||||
#else
|
||||
type=GetImmersiveColorTypeFromName(text);
|
||||
#endif
|
||||
#ifdef WRITE_COLORS
|
||||
color=GetImmersiveColorFromColorSetEx(set,type,true,0);
|
||||
if (fout) fprintf(fout,"%02X%02X%02X%02X %S\n",(color>>24)&0xFF,color&0xFF,(color>>8)&0xFF,(color>>16)&0xFF,name);
|
||||
#endif
|
||||
MetroColor mc;
|
||||
mc.name=name;
|
||||
mc.NAME=mc.name;
|
||||
mc.NAME.MakeUpper();
|
||||
mc.type=type;
|
||||
if (g_MaxMetroColorType<type)
|
||||
g_MaxMetroColorType=type;
|
||||
#ifdef READ_COLORS
|
||||
mc.color=color;
|
||||
#endif
|
||||
g_MetroColors.push_back(mc);
|
||||
}
|
||||
#ifdef READ_COLORS
|
||||
if (fin) fclose(fin);
|
||||
#endif
|
||||
#ifdef WRITE_COLORS
|
||||
if (fout) fclose(fout);
|
||||
#endif
|
||||
|
||||
for (int i=0;i<_countof(g_SystemColors);i++)
|
||||
{
|
||||
MetroColor mc;
|
||||
mc.name=g_SystemColors[i].name;
|
||||
mc.NAME=mc.name;
|
||||
mc.NAME.MakeUpper();
|
||||
mc.type=g_MaxMetroColorType+1+i;
|
||||
mc.color=GetSysColor(g_SystemColors[i].code)|0xFF000000;
|
||||
g_MetroColors.push_back(mc);
|
||||
}
|
||||
|
||||
CMetroColorViewer().DoModal(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
1106
Src/Setup/Utility/SaveLogFile.cpp
Normal file
1106
Src/Setup/Utility/SaveLogFile.cpp
Normal file
File diff suppressed because it is too large
Load Diff
9
Src/Setup/Utility/SaveLogFile.h
Normal file
9
Src/Setup/Utility/SaveLogFile.h
Normal file
@@ -0,0 +1,9 @@
|
||||
// Classic Shell (c) 2009-2017, Ivo Beltchev
|
||||
// Open-Shell (c) 2017-2018, The Open-Shell Team
|
||||
// Confidential information of Ivo Beltchev. Not for disclosure or distribution without prior written consent from the author
|
||||
|
||||
#pragma once
|
||||
|
||||
void ShowSaveLogFile( void );
|
||||
int SaveLogFile( const wchar_t *fname, bool bAdmin );
|
||||
DWORD GetFileVersion( const wchar_t *fname, DWORD *pBuild );
|
||||
1204
Src/Setup/Utility/Utility.cpp
Normal file
1204
Src/Setup/Utility/Utility.cpp
Normal file
File diff suppressed because it is too large
Load Diff
27
Src/Setup/Utility/Utility.manifest
Normal file
27
Src/Setup/Utility/Utility.manifest
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
|
||||
<assemblyIdentity
|
||||
version="1.0.0.0"
|
||||
processorArchitecture="X86"
|
||||
name="Open-Shell.Setup"
|
||||
type="win32"
|
||||
/>
|
||||
<description>Open-Shell Setup</description>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<asmv3:application>
|
||||
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||
<dpiAware>true</dpiAware>
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
</assembly>
|
||||
224
Src/Setup/Utility/Utility.rc
Normal file
224
Src/Setup/Utility/Utility.rc
Normal file
@@ -0,0 +1,224 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "winres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// FILE
|
||||
//
|
||||
|
||||
1 FILE "Release64\\Utility.exe"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON1 ICON "tool.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_COLORS DIALOGEX 0, 0, 407, 281
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Metro Colors"
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Color set:",IDC_STATIC,7,7,31,14,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_EDIT1,39,7,47,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_SPIN1,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,79,7,10,14
|
||||
LTEXT "use -1 for the current set",IDC_STATIC,90,7,79,14,SS_CENTERIMAGE
|
||||
LTEXT "Search:",IDC_STATIC,215,7,24,14,SS_CENTERIMAGE
|
||||
EDITTEXT IDC_EDIT2,240,7,160,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_EDITLABELS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,23,393,251
|
||||
END
|
||||
|
||||
IDD_UNINSTALL DIALOGEX 0, 0, 315, 201
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Remove Open-Shell"
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,67,301,1
|
||||
LTEXT "The tool has determined that Open-Shell is installed in the following folder. If this is incorrect, use the Browse button to pick another location.",IDC_STATICPATH,7,72,301,19
|
||||
EDITTEXT IDC_EDITPATH,7,93,262,14,ES_AUTOHSCROLL | ES_READONLY
|
||||
PUSHBUTTON "Browse",IDC_BUTTONBROWSEPATH,270,93,38,14
|
||||
LTEXT "Select which settings to remove:\n (it is safe to keep the settings - they will not affect the operation of your computer)",IDC_STATIC,7,113,277,17
|
||||
CONTROL "Remove admin settings - will remove the settings from the Local Machine registry",IDC_CHECKADMIN,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,132,274,10
|
||||
CONTROL "Remove user settings - will remove the settings for the current user",IDC_CHECKSETTINGS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,144,233,10
|
||||
CONTROL "Remove settings for all users - will remove the user settings for all users",IDC_CHECKALLUSERS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,156,236,10
|
||||
LTEXT "Please, make sure that no other users are currently signed in",IDC_STATICALLUSERS,41,167,203,8,NOT WS_VISIBLE
|
||||
DEFPUSHBUTTON "OK",IDOK,205,180,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,258,180,50,14
|
||||
LTEXT "Warning: This tool will remove Open-Shell from your system by directly accessing the registry and the file system. A reboot may be required.\nUse it only if you have tried the conventional methods for uinstalling Open-Shell and they were unsuccessful.",IDC_STATICWARNING,7,7,301,35
|
||||
CONTROL "The preferred method for uninstallation is to use the <a>Programs and Features</a> page in the Control Panel.",IDC_SYSLINK1,
|
||||
"SysLink",WS_TABSTOP,7,44,301,18
|
||||
END
|
||||
|
||||
IDD_UNINSTALL_RESULTS DIALOGEX 0, 0, 471, 302
|
||||
STYLE DS_SETFONT | DS_CENTER | WS_POPUP | WS_CAPTION | WS_THICKFRAME
|
||||
CAPTION "Remove Open-Shell"
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Static",IDC_STATICRESULT,7,7,457,25
|
||||
EDITTEXT IDC_EDITRESULT,7,39,457,238,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | WS_VSCROLL
|
||||
PUSHBUTTON "Restart Now",IDC_BUTTONREBOOT,319,281,70,14
|
||||
PUSHBUTTON "Close",IDC_BUTTONCLOSE,394,281,70,14
|
||||
END
|
||||
|
||||
IDD_UNINSTALL_PROGRESS DIALOGEX 0, 0, 240, 75
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Removing Open-Shell"
|
||||
FONT 9, "Segoe UI", 400, 0, 0x0
|
||||
BEGIN
|
||||
CONTROL "",IDC_PROGRESS1,"msctls_progress32",WS_BORDER,7,27,226,14
|
||||
LTEXT "Please, wait...",IDC_STATICWAIT,7,7,83,8
|
||||
END
|
||||
|
||||
IDD_LOGSETTINGS DIALOGEX 0, 0, 201, 245
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Open-Shell Logging"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "Warning: Turning on the logging options may negatively affect the performance of Open-Shell.",IDC_STATIC,7,7,187,17
|
||||
LTEXT "Log start menu",IDC_STATIC,7,31,52,12,SS_CENTERIMAGE
|
||||
CONTROL "Open/close menus",IDC_CHECKOPEN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,44,75,10
|
||||
CONTROL "Menu contents",IDC_CHECKITEMS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,44,63,10
|
||||
CONTROL "Executed items",IDC_CHECKEXECUTE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,58,65,10
|
||||
CONTROL "MFU items",IDC_CHECKMFU,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,58,49,10
|
||||
CONTROL "New programs",IDC_CHECKNEW,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,72,62,10
|
||||
CONTROL "Metro apps",IDC_CHECKAPPS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,72,52,10
|
||||
CONTROL "Search results",IDC_CHECKSEARCH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,86,61,10
|
||||
CONTROL "SQL commands",IDC_CHECKSEARCH_SQL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,86,64,10
|
||||
CONTROL "Mouse events",IDC_CHECKMOUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,100,61,10
|
||||
CONTROL "Data cache",IDC_CHECKCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,107,100,52,10
|
||||
CONTROL "<a>Start menu log file</a>",IDC_SYSLINKSTART,"SysLink",WS_TABSTOP,22,113,80,10
|
||||
CONTROL "<a>Data cache log file</a>",IDC_SYSLINKCACHE,"SysLink",WS_TABSTOP,22,125,80,10
|
||||
CONTROL "Log startup",IDC_CHECKSTARTUP,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,7,140,57,12
|
||||
CONTROL "<a>Startup log file</a>",IDC_SYSLINKSTARTUP,"SysLink",WS_TABSTOP,22,153,80,10
|
||||
CONTROL "Log Classic Explorer",IDC_CHECKEXPLORER,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,7,167,84,12
|
||||
CONTROL "<a>Classic Explorer log file</a>",IDC_SYSLINKEXPLORER,
|
||||
"SysLink",WS_TABSTOP,22,180,80,10
|
||||
CONTROL "Log Classic IE",IDC_CHECKIE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,7,194,65,12
|
||||
CONTROL "<a>Classic IE log file</a>",IDC_SYSLINKIE,"SysLink",WS_TABSTOP,22,207,80,10
|
||||
DEFPUSHBUTTON "OK",IDOK,85,224,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,144,224,50,14
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_COLORS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 400
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 274
|
||||
END
|
||||
|
||||
IDD_UNINSTALL, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 308
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 194
|
||||
END
|
||||
|
||||
IDD_UNINSTALL_RESULTS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 464
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 295
|
||||
END
|
||||
|
||||
IDD_UNINSTALL_PROGRESS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 233
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 68
|
||||
END
|
||||
|
||||
IDD_LOGSETTINGS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 194
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 238
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
214
Src/Setup/Utility/Utility.vcxproj
Normal file
214
Src/Setup/Utility/Utility.vcxproj
Normal file
@@ -0,0 +1,214 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{DAE66C9B-05DC-4ACE-97DA-2547B490BBFF}</ProjectGuid>
|
||||
<RootNamespace>Utility</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfAtl>Static</UseOfAtl>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfAtl>Static</UseOfAtl>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfAtl>Static</UseOfAtl>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
<UseOfAtl>Static</UseOfAtl>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(Configuration)64\</OutDir>
|
||||
<IntDir>$(Configuration)64\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(Configuration)\</OutDir>
|
||||
<IntDir>$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(Configuration)64\</OutDir>
|
||||
<IntDir>$(Configuration)64\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib;Netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib.;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib;Netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\Lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_UNICODE;UNICODE;_WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>comctl32.lib;uxtheme.lib;dwmapi.lib;winmm.lib;htmlhelp.lib;psapi.lib;version.lib;Secur32.lib.;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Utility.cpp" />
|
||||
<ClCompile Include="LoggingOptions.cpp" />
|
||||
<ClCompile Include="ManualUninstall.cpp" />
|
||||
<ClCompile Include="MetroColorViewer.cpp" />
|
||||
<ClCompile Include="SaveLogFile.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Release64\Utility.exe" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="Utility.manifest" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="Utility.rc">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="..\..\LocComments.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="SaveLogFile.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="tool.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Lib\Lib.vcxproj">
|
||||
<Project>{d42fe717-485b-492d-884a-1999f6d51154}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties RESOURCE_FILE="Utility.rc" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
61
Src/Setup/Utility/resource.h
Normal file
61
Src/Setup/Utility/resource.h
Normal file
@@ -0,0 +1,61 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by Utility.rc
|
||||
//
|
||||
#define IDI_ICON1 101
|
||||
#define IDD_DIALOG1 102
|
||||
#define IDD_COLORS 102
|
||||
#define IDD_UNINSTALL 103
|
||||
#define IDD_UNINSTALL_RESULTS 104
|
||||
#define IDD_UNINSTALL_PROGRESS 105
|
||||
#define IDD_LOGSETTINGS 106
|
||||
#define IDC_EDIT1 1001
|
||||
#define IDC_SPIN1 1002
|
||||
#define IDC_LIST1 1003
|
||||
#define IDC_EDIT2 1004
|
||||
#define IDC_BUTTONBROWSEPATH 1005
|
||||
#define IDC_CHECKADMIN 1006
|
||||
#define IDC_CHECKSETTINGS 1007
|
||||
#define IDC_CHECKALLUSERS 1008
|
||||
#define IDC_SYSLINK1 1009
|
||||
#define IDC_EDITPATH 1010
|
||||
#define IDC_SYSLINKSTARTUP 1010
|
||||
#define IDC_STATICPATH 1011
|
||||
#define IDC_SYSLINKEXPLORER 1011
|
||||
#define IDC_STATICWARNING 1012
|
||||
#define IDC_SYSLINKIE 1012
|
||||
#define IDC_STATICRESULT 1013
|
||||
#define IDC_EDITRESULT 1014
|
||||
#define IDC_BUTTONREBOOT 1015
|
||||
#define IDC_BUTTONCLOSE 1016
|
||||
#define IDC_PROGRESS1 1017
|
||||
#define IDC_STATICWIAT 1018
|
||||
#define IDC_STATICWAIT 1018
|
||||
#define IDC_STATICALLUSERS 1019
|
||||
#define IDC_CHECKEXPLORER 1020
|
||||
#define IDC_CHECKSTARTUP 1022
|
||||
#define IDC_CHECKIE 1023
|
||||
#define IDC_CHECKEXECUTE 1028
|
||||
#define IDC_CHECKOPEN 1029
|
||||
#define IDC_CHECKITEMS 1030
|
||||
#define IDC_CHECKMOUSE 1031
|
||||
#define IDC_CHECKMFU 1032
|
||||
#define IDC_CHECKSEARCH 1033
|
||||
#define IDC_CHECKSEARCH_SQL 1034
|
||||
#define IDC_CHECKNEW 1035
|
||||
#define IDC_CHECKAPPS 1036
|
||||
#define IDC_CHECKCACHE 1037
|
||||
#define IDC_SYSLINKSTART 1038
|
||||
#define IDC_SYSLINKSTART2 1039
|
||||
#define IDC_SYSLINKCACHE 1039
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 108
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1039
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
BIN
Src/Setup/Utility/tool.ico
Normal file
BIN
Src/Setup/Utility/tool.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Reference in New Issue
Block a user