mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 13:14:59 -06:00
18.05
This commit is contained in:
@@ -72,6 +72,7 @@ bool CDialog::OnButtonClicked(int buttonID, HWND /* buttonHWND */)
|
||||
{
|
||||
case IDOK: OnOK(); break;
|
||||
case IDCANCEL: OnCancel(); break;
|
||||
case IDCLOSE: OnClose(); break;
|
||||
case IDHELP: OnHelp(); break;
|
||||
default: return false;
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@ public:
|
||||
virtual bool OnButtonClicked(int buttonID, HWND buttonHWND);
|
||||
virtual void OnOK() {};
|
||||
virtual void OnCancel() {};
|
||||
virtual void OnClose() {}
|
||||
virtual bool OnNotify(UINT /* controlID */, LPNMHDR /* lParam */) { return false; }
|
||||
virtual bool OnTimer(WPARAM /* timerID */, LPARAM /* callback */) { return false; }
|
||||
|
||||
@@ -133,6 +134,7 @@ public:
|
||||
#endif
|
||||
virtual void OnOK() { Destroy(); }
|
||||
virtual void OnCancel() { Destroy(); }
|
||||
virtual void OnClose() { Destroy(); }
|
||||
};
|
||||
|
||||
class CModalDialog: public CDialog
|
||||
@@ -147,6 +149,7 @@ public:
|
||||
bool End(INT_PTR result) { return BOOLToBool(::EndDialog(_window, result)); }
|
||||
virtual void OnOK() { End(IDOK); }
|
||||
virtual void OnCancel() { End(IDCANCEL); }
|
||||
virtual void OnClose() { End(IDCLOSE); }
|
||||
};
|
||||
|
||||
class CDialogChildControl: public NWindows::CWindow
|
||||
|
||||
@@ -67,6 +67,31 @@ bool EnablePrivilege(LPCTSTR privilegeName, bool enable)
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
typedef void (WINAPI * Func_RtlGetVersion) (OSVERSIONINFOEXW *);
|
||||
|
||||
/*
|
||||
We suppose that Window 10 works incorrectly with "Large Pages" at:
|
||||
- Windows 10 1703 (15063)
|
||||
- Windows 10 1709 (16299)
|
||||
*/
|
||||
|
||||
unsigned Get_LargePages_RiskLevel()
|
||||
{
|
||||
OSVERSIONINFOEXW vi;
|
||||
HMODULE ntdll = ::GetModuleHandleW(L"ntdll.dll");
|
||||
if (!ntdll)
|
||||
return 0;
|
||||
Func_RtlGetVersion func = (Func_RtlGetVersion)GetProcAddress(ntdll, "RtlGetVersion");
|
||||
if (!func)
|
||||
return 0;
|
||||
func(&vi);
|
||||
return (vi.dwPlatformId == VER_PLATFORM_WIN32_NT
|
||||
&& vi.dwMajorVersion + vi.dwMinorVersion == 10
|
||||
&& vi.dwBuildNumber <= 16299) ? 1 : 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
}}
|
||||
|
||||
@@ -31,6 +31,8 @@ inline void EnablePrivilege_SymLink()
|
||||
// Do we need to set SE_BACKUP_NAME ?
|
||||
}
|
||||
|
||||
unsigned Get_LargePages_RiskLevel();
|
||||
|
||||
#endif
|
||||
|
||||
}}
|
||||
|
||||
@@ -152,7 +152,7 @@ LONG CKey::SetValue(LPCWSTR name, LPCWSTR value)
|
||||
MYASSERT(value != NULL);
|
||||
MYASSERT(_object != NULL);
|
||||
if (g_IsNT)
|
||||
return RegSetValueExW(_object, name, NULL, REG_SZ,
|
||||
return RegSetValueExW(_object, name, 0, REG_SZ,
|
||||
(const BYTE * )value, (DWORD)((wcslen(value) + 1) * sizeof(wchar_t)));
|
||||
return SetValue(name == 0 ? 0 : (LPCSTR)GetSystemString(name),
|
||||
value == 0 ? 0 : (LPCSTR)GetSystemString(value));
|
||||
|
||||
Reference in New Issue
Block a user