1.13.3
This commit is contained in:
parent
5e03696fb9
commit
17d928d456
|
@ -4,6 +4,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [1.13.3 / 5.68.3] - 2024-02-??
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- fixed issues with "IsProtectScreen=y" [3656](https://github.com/sandboxie-plus/Sandboxie/pull/3656#discussion_r1518549704)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [1.13.2 / 5.68.2] - 2024-03-07
|
## [1.13.2 / 5.68.2] - 2024-03-07
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
#ifndef _MY_VERSION_H
|
#ifndef _MY_VERSION_H
|
||||||
#define _MY_VERSION_H
|
#define _MY_VERSION_H
|
||||||
|
|
||||||
#define MY_VERSION_BINARY 5,68,2
|
#define MY_VERSION_BINARY 5,68,3
|
||||||
#define MY_VERSION_STRING "5.68.2"
|
#define MY_VERSION_STRING "5.68.3"
|
||||||
#define MY_ABI_VERSION 0x56800
|
#define MY_ABI_VERSION 0x56800
|
||||||
|
|
||||||
// These #defines are used by either Resource Compiler or NSIS installer
|
// These #defines are used by either Resource Compiler or NSIS installer
|
||||||
|
|
|
@ -263,6 +263,8 @@ static HWND Gui_CreateWindowExW(
|
||||||
static BOOLEAN Gui_CanForwardMsg(
|
static BOOLEAN Gui_CanForwardMsg(
|
||||||
HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam/*, LRESULT* plResult*/);
|
HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam/*, LRESULT* plResult*/);
|
||||||
|
|
||||||
|
static VOID Gui_ProtectScreen(HWND hWnd);
|
||||||
|
|
||||||
static LRESULT Gui_DefWindowProcA(
|
static LRESULT Gui_DefWindowProcA(
|
||||||
HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||||
|
|
||||||
|
@ -1391,6 +1393,9 @@ _FX HWND Gui_CreateWindowExW(
|
||||||
|
|
||||||
--TlsData->gui_create_window;
|
--TlsData->gui_create_window;
|
||||||
|
|
||||||
|
if (hwndResult && !hWndParent && Gui_UseProtectScreen)
|
||||||
|
Gui_ProtectScreen(hwndResult);
|
||||||
|
|
||||||
//
|
//
|
||||||
// replace window procedure
|
// replace window procedure
|
||||||
//
|
//
|
||||||
|
@ -1499,6 +1504,9 @@ _FX HWND Gui_CreateWindowExA(
|
||||||
|
|
||||||
--TlsData->gui_create_window;
|
--TlsData->gui_create_window;
|
||||||
|
|
||||||
|
if (hwndResult && !hWndParent && Gui_UseProtectScreen)
|
||||||
|
Gui_ProtectScreen(hwndResult);
|
||||||
|
|
||||||
//
|
//
|
||||||
// replace window procedure
|
// replace window procedure
|
||||||
//
|
//
|
||||||
|
@ -1563,14 +1571,12 @@ _FX BOOLEAN Gui_CanForwardMsg(
|
||||||
|
|
||||||
_FX VOID Gui_ProtectScreen(HWND hWnd)
|
_FX VOID Gui_ProtectScreen(HWND hWnd)
|
||||||
{
|
{
|
||||||
if (SbieApi_QueryConfBool(NULL, L"IsProtectScreen", FALSE))
|
typedef BOOL(*LPSETWINDOWDISPLAYAFFINITY)(HWND, DWORD);
|
||||||
{
|
static LPSETWINDOWDISPLAYAFFINITY pSetWindowDisplayAffinity = NULL;
|
||||||
typedef BOOL(*LPSETWINDOWDISPLAYAFFINITY)(HWND, DWORD);
|
if(!pSetWindowDisplayAffinity)
|
||||||
LPSETWINDOWDISPLAYAFFINITY pSetWindowDisplayAffinity = (LPSETWINDOWDISPLAYAFFINITY)
|
pSetWindowDisplayAffinity = (LPSETWINDOWDISPLAYAFFINITY)Ldr_GetProcAddrNew(DllName_user32, L"SetWindowDisplayAffinity", "SetWindowDisplayAffinity");
|
||||||
Ldr_GetProcAddrNew(DllName_user32, L"SetWindowDisplayAffinity","SetWindowDisplayAffinity");
|
if (pSetWindowDisplayAffinity)
|
||||||
if (pSetWindowDisplayAffinity)
|
pSetWindowDisplayAffinity(hWnd, 0x00000001);
|
||||||
pSetWindowDisplayAffinity(hWnd, 0x00000001);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1599,9 +1605,6 @@ _FX LRESULT Gui_WindowProcW(
|
||||||
else
|
else
|
||||||
new_lParam = lParam;
|
new_lParam = lParam;
|
||||||
|
|
||||||
if (uMsg == WM_CREATE)
|
|
||||||
Gui_ProtectScreen(hWnd);
|
|
||||||
|
|
||||||
if (uMsg == WM_QUERYENDSESSION)
|
if (uMsg == WM_QUERYENDSESSION)
|
||||||
{
|
{
|
||||||
if (SbieApi_QueryConfBool(NULL, "BlockInterferePower", FALSE))
|
if (SbieApi_QueryConfBool(NULL, "BlockInterferePower", FALSE))
|
||||||
|
@ -1663,8 +1666,6 @@ _FX LRESULT Gui_WindowProcA(
|
||||||
else
|
else
|
||||||
new_lParam = lParam;
|
new_lParam = lParam;
|
||||||
|
|
||||||
if (uMsg == WM_CREATE)
|
|
||||||
Gui_ProtectScreen(hWnd);
|
|
||||||
if (uMsg == WM_QUERYENDSESSION)
|
if (uMsg == WM_QUERYENDSESSION)
|
||||||
{
|
{
|
||||||
if (SbieApi_QueryConfBool(NULL, "BlockInterferePower", FALSE))
|
if (SbieApi_QueryConfBool(NULL, "BlockInterferePower", FALSE))
|
||||||
|
@ -1693,10 +1694,8 @@ _FX LRESULT Gui_DefWindowProcW(
|
||||||
if (uMsg == WM_SETTEXT && Gui_ShouldCreateTitle(hWnd))
|
if (uMsg == WM_SETTEXT && Gui_ShouldCreateTitle(hWnd))
|
||||||
new_lParam = (LPARAM)Gui_CreateTitleW((WCHAR *)lParam);
|
new_lParam = (LPARAM)Gui_CreateTitleW((WCHAR *)lParam);
|
||||||
|
|
||||||
else if (uMsg == WM_CREATE || uMsg == WM_NCCREATE) {
|
else if (uMsg == WM_CREATE || uMsg == WM_NCCREATE)
|
||||||
Gui_ProtectScreen(hWnd);
|
|
||||||
Gui_CREATESTRUCT_Restore(lParam);
|
Gui_CREATESTRUCT_Restore(lParam);
|
||||||
}
|
|
||||||
|
|
||||||
lResult = __sys_DefWindowProcW(hWnd, uMsg, wParam, new_lParam);
|
lResult = __sys_DefWindowProcW(hWnd, uMsg, wParam, new_lParam);
|
||||||
|
|
||||||
|
@ -1721,10 +1720,8 @@ _FX LRESULT Gui_DefWindowProcA(
|
||||||
if (uMsg == WM_SETTEXT && Gui_ShouldCreateTitle(hWnd))
|
if (uMsg == WM_SETTEXT && Gui_ShouldCreateTitle(hWnd))
|
||||||
new_lParam = (LPARAM)Gui_CreateTitleA((UCHAR *)lParam);
|
new_lParam = (LPARAM)Gui_CreateTitleA((UCHAR *)lParam);
|
||||||
|
|
||||||
else if (uMsg == WM_CREATE || uMsg == WM_NCCREATE) {
|
else if (uMsg == WM_CREATE || uMsg == WM_NCCREATE)
|
||||||
Gui_ProtectScreen(hWnd);
|
|
||||||
Gui_CREATESTRUCT_Restore(lParam);
|
Gui_CREATESTRUCT_Restore(lParam);
|
||||||
}
|
|
||||||
|
|
||||||
lResult = __sys_DefWindowProcA(hWnd, uMsg, wParam, new_lParam);
|
lResult = __sys_DefWindowProcA(hWnd, uMsg, wParam, new_lParam);
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,9 @@
|
||||||
#define WM_DDE_EXECUTE (WM_DDE_FIRST+8)
|
#define WM_DDE_EXECUTE (WM_DDE_FIRST+8)
|
||||||
#define WM_DDE_LAST (WM_DDE_FIRST+8)
|
#define WM_DDE_LAST (WM_DDE_FIRST+8)
|
||||||
|
|
||||||
|
#define GET_WIN_API(name, lib) \
|
||||||
|
P_##name name = Ldr_GetProcAddrNew(lib, #name, #name); \
|
||||||
|
if(!name) return NULL;
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
// Prototypes
|
// Prototypes
|
||||||
|
@ -468,6 +471,7 @@ typedef BOOL(*P_GetOpenFileNameW)(LPVOID lpofn);
|
||||||
|
|
||||||
extern BOOLEAN Gui_RenameClasses;
|
extern BOOLEAN Gui_RenameClasses;
|
||||||
extern BOOLEAN Gui_OpenAllWinClasses; // not running in a restricted job
|
extern BOOLEAN Gui_OpenAllWinClasses; // not running in a restricted job
|
||||||
|
extern BOOLEAN Gui_UseProtectScreen;
|
||||||
|
|
||||||
extern BOOLEAN Gui_UseProxyService;
|
extern BOOLEAN Gui_UseProxyService;
|
||||||
|
|
||||||
|
|
|
@ -105,6 +105,7 @@ static ULONG_PTR Gui_HighestAddress = 0;
|
||||||
|
|
||||||
BOOLEAN Gui_RenameClasses = TRUE;
|
BOOLEAN Gui_RenameClasses = TRUE;
|
||||||
BOOLEAN Gui_OpenAllWinClasses = FALSE;
|
BOOLEAN Gui_OpenAllWinClasses = FALSE;
|
||||||
|
BOOLEAN Gui_UseProtectScreen = FALSE;
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
@ -191,6 +192,8 @@ _FX BOOLEAN Gui_InitClass(HMODULE module)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Gui_UseProtectScreen = SbieApi_QueryConfBool(NULL, L"IsProtectScreen", FALSE);
|
||||||
|
|
||||||
//
|
//
|
||||||
// hook functions
|
// hook functions
|
||||||
//
|
//
|
||||||
|
|
|
@ -430,10 +430,6 @@ HICON SH32_BorderToIcon(HICON hIcon, COLORREF color)
|
||||||
typedef BOOL(*P_DeleteObject)(HGDIOBJ ho);
|
typedef BOOL(*P_DeleteObject)(HGDIOBJ ho);
|
||||||
typedef BOOL(*P_DeleteDC)(HDC hdc);
|
typedef BOOL(*P_DeleteDC)(HDC hdc);
|
||||||
|
|
||||||
#define GET_WIN_API(name, lib) \
|
|
||||||
P_##name name = Ldr_GetProcAddrNew(lib, #name, #name); \
|
|
||||||
if(!name) return NULL;
|
|
||||||
|
|
||||||
GET_WIN_API(GetDC, DllName_user32);
|
GET_WIN_API(GetDC, DllName_user32);
|
||||||
GET_WIN_API(ReleaseDC, DllName_user32);
|
GET_WIN_API(ReleaseDC, DllName_user32);
|
||||||
GET_WIN_API(GetIconInfo, DllName_user32);
|
GET_WIN_API(GetIconInfo, DllName_user32);
|
||||||
|
|
|
@ -2450,7 +2450,7 @@ void CSandMan::OnStatusChanged()
|
||||||
}
|
}
|
||||||
|
|
||||||
int DynData = theAPI->IsDyndataActive();
|
int DynData = theAPI->IsDyndataActive();
|
||||||
if (DynData != 1)
|
if (DynData != 1 && COnlineUpdater::VersionToInt(theAPI->GetVersion()) >= COnlineUpdater::VersionToInt("5.68.0"))
|
||||||
{
|
{
|
||||||
RTL_OSVERSIONINFOEXW versionInfo;
|
RTL_OSVERSIONINFOEXW versionInfo;
|
||||||
memset(&versionInfo, 0, sizeof(RTL_OSVERSIONINFOEXW));
|
memset(&versionInfo, 0, sizeof(RTL_OSVERSIONINFOEXW));
|
||||||
|
|
|
@ -15,6 +15,13 @@ include(uglobalhotkey-headers.pri)
|
||||||
include(uglobalhotkey-sources.pri)
|
include(uglobalhotkey-sources.pri)
|
||||||
include(uglobalhotkey-libs.pri)
|
include(uglobalhotkey-libs.pri)
|
||||||
|
|
||||||
|
CONFIG(release, debug|release):{
|
||||||
|
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
|
||||||
|
QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
|
||||||
|
}
|
||||||
|
|
||||||
|
QMAKE_CXXFLAGS_RELEASE -= -O2
|
||||||
|
|
||||||
MY_ARCH=$$(build_arch)
|
MY_ARCH=$$(build_arch)
|
||||||
equals(MY_ARCH, ARM64) {
|
equals(MY_ARCH, ARM64) {
|
||||||
# message("Building ARM64")
|
# message("Building ARM64")
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
#define VERSION_MJR 1
|
#define VERSION_MJR 1
|
||||||
#define VERSION_MIN 13
|
#define VERSION_MIN 13
|
||||||
#define VERSION_REV 2
|
#define VERSION_REV 3
|
||||||
#define VERSION_UPD 0
|
#define VERSION_UPD 0
|
||||||
|
|
||||||
#ifndef STR
|
#ifndef STR
|
||||||
|
|
Loading…
Reference in New Issue