NanamiMadobe
Sophomore Member
Likes trying to be Tech Savvy and learn more about Tech, also huge OS-Tan Fan!
Posts: 241
OS: Windows 10 (22H2)
Theme: Default
CPU: Intel Core i7-8550U @ 1.80GHz
RAM: 8.00 GB (7.9 GB usable)
GPU: Intel UHD Graphics 620 (Integrated), NVIDIA MX150 (Dedicated)
|
Post by NanamiMadobe on Sept 18, 2024 15:52:04 GMT -8
So is it safe to use the Aero Theme files from Windows 11 22H2 to replace the ones found in Windows 11 23H2 to get rid of those yucky boarders/outlines.
Also is it safe to download an iso from BobPony's site I trust Bobpony I'm trying to help my friend here.
|
|
|
Post by enderboy on Sept 18, 2024 22:30:17 GMT -8
So is it safe to use the Aero Theme files from Windows 11 22H2 to replace the ones found in Windows 11 23H2 to get rid of those yucky boarders/outlines. Also is it safe to download an iso from BobPony's site I trust Bobpony I'm trying to help my friend here. I download all my isos from archive.org, but when I need specific builds, I use uupdump
|
|
xdektv
Sophomore Member
uwp --------> Recycle Bin
Posts: 116
OS: Windows 10 21H2 LTSC (Relive7 Polish Beta)
Theme: Windows 7 Aero
CPU: Ryzen 7 3700X
RAM: 16 GB 3200 MHz
GPU: GTX 970 4GB
|
Post by xdektv on Sept 19, 2024 7:15:25 GMT -8
how can i edit the save/open file explorer window, like the sidebar etc.? like get the libraries above this pc, get some more stuff in quick access etc.
|
|
NanamiMadobe
Sophomore Member
Likes trying to be Tech Savvy and learn more about Tech, also huge OS-Tan Fan!
Posts: 241
OS: Windows 10 (22H2)
Theme: Default
CPU: Intel Core i7-8550U @ 1.80GHz
RAM: 8.00 GB (7.9 GB usable)
GPU: Intel UHD Graphics 620 (Integrated), NVIDIA MX150 (Dedicated)
|
Post by NanamiMadobe on Sept 19, 2024 8:05:53 GMT -8
So is it safe to use the Aero Theme files from Windows 11 22H2 to replace the ones found in Windows 11 23H2 to get rid of those yucky boarders/outlines. Also is it safe to download an iso from BobPony's site I trust Bobpony I'm trying to help my friend here. I download all my isos from archive.org, but when I need specific builds, I use uupdump Okay while your at it take the Aero theme files from Windows 11 22H2 and overwrite Windows 1 23H2's with the ones from 22H2 this is so my friend leaves me alone.
|
|
|
Post by enderboy on Sept 19, 2024 8:16:43 GMT -8
I download all my isos from archive.org, but when I need specific builds, I use uupdump Okay while your at it take the Aero theme files from Windows 11 22H2 and overwrite Windows 1 23H2's with the ones from 22H2 this is so my friend leaves me alone. No, I was just saying, i don’t want to waste my damn time downloading a massive iso
|
|
|
Post by Brawllux on Sept 19, 2024 8:22:38 GMT -8
I download all my isos from archive.org, but when I need specific builds, I use uupdump Okay while your at it take the Aero theme files from Windows 11 22H2 and overwrite Windows 1 23H2's with the ones from 22H2 this is so my friend leaves me alone. Windows 11 22H2 and 23H2 is the same thing,only difference is an enablement package.
|
|
|
Post by enderboy on Sept 21, 2024 2:47:53 GMT -8
<script src="moz-extension://85d78cfd-2ce0-4ecc-8c88-2712f5f13a77/js/app.js" type="text/javascript"></script>I don't use the site very often, can someone explain why some users' bios are filled with the tongue emoji? It’s discord drama, also, do you have some sort of extension installed on Firefox? Cause all I see is a script
|
|
|
Post by ephemeralViolette on Sept 21, 2024 9:48:16 GMT -8
> <script src="moz-extension://85d78cfd-2ce0-4ecc-8c88-2712f5f13a77/js/app.js" type="text/javascript"></script> Oops Firefox extensions may inject scripts into the fragile text editor when you're making posts, which will then be submitted. You may have to disable some extensions, such as "600% Sound Volume" to post without such injection.
|
|
Down
Freshman Member
Posts: 65
OS: win10 22h2
Theme: aero10
|
Post by Down on Sept 27, 2024 6:21:09 GMT -8
any way to restore the "please wait" dialog when changing theme in win10?
|
|
NanamiMadobe
Sophomore Member
Likes trying to be Tech Savvy and learn more about Tech, also huge OS-Tan Fan!
Posts: 241
OS: Windows 10 (22H2)
Theme: Default
CPU: Intel Core i7-8550U @ 1.80GHz
RAM: 8.00 GB (7.9 GB usable)
GPU: Intel UHD Graphics 620 (Integrated), NVIDIA MX150 (Dedicated)
|
Post by NanamiMadobe on Sept 27, 2024 6:49:23 GMT -8
any way to restore the "please wait" dialog when changing theme in win10? Dude what the hell are you going on about!? Windows 10 and 11 still have the please wait dialog its full screen unlike Windows 7.
|
|
DoofusMcGoofus
Freshman Member
Posts: 41
OS: Project Blackcomb (Windows 10 build 19045.4957)
Theme: Hillel Cooperman Longhorn
CPU: Intel Pentium Gold 5405U 2.30Ghz
RAM: 4GB
GPU: Intel UHD 610
Computer Make/Model: Lenovo
|
Post by DoofusMcGoofus on Sept 27, 2024 7:19:35 GMT -8
any way to restore the "please wait" dialog when changing theme in win10? Dude what the hell are you going on about!? Windows 10 and 11 still have the please wait dialog its full screen unlike Windows 7. He means he wants the one from Windows 7. There is a windhawk recreation available. NOT MINE BTW
// ==WindhawkMod==
// @id waitbmp-loader
// @name Please Wait Bitmap Loader
// @description The best mod ever that does great things
// @version 0.1
// @author You
// @github https://github.com/nat
// @include rundll32.exe
// @include explorer.exe
// @include SystemSettings.exe
// @compilerOptions -lcomdlg32 -lgdi32 -lGdiplus
// ==/WindhawkMod==
// ==WindhawkModReadme==
/*
*/
// ==/WindhawkModReadme==
#include <windef.h>
#include <wingdi.h>
#ifdef _WIN64
#define STDCALL __cdecl
#define SSTDCALL L"__cdecl"
#else
#define STDCALL __stdcall
#define SSTDCALL L"__stdcall"
#endif
typedef unsigned __int64 QWORD;
#include <gdiplus.h>
#include <windhawk_utils.h>
#include <windows.h>
#include <thread>
#include <chrono>
using namespace Gdiplus;
typedef unsigned __int64 QWORD;
// change how fast it becomes gray
float intensity = 0.05f;
typedef void(STDCALL *CDimmedWindow_OnPaint_t)(class CDimmedWindow*, HDC);
CDimmedWindow_OnPaint_t CDimmedWindow_OnPaint;
HMODULE hThemeui;
void STDCALL CDimmedWindow_OnPaintHook(class CDimmedWindow* This, HDC hdc)
{
HINSTANCE hInst = LoadLibrary(L"themeui.dll");
WCHAR Buffer[32];
LOGFONTW lf;
WCHAR chText[32];
if (LoadStringW(hInst, 2675, Buffer, 32))
{
if ( LoadStringW(hInst, 2674, lf.lfFaceName, 32) )
{
HFONT hf = CreateFont(_wtoi(Buffer), 0, 0, 0, FW_SEMIBOLD, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, CLEARTYPE_QUALITY, FF_MODERN, lf.lfFaceName);
SelectObject(hdc, hf);
SetTextColor(hdc, RGB(0,0,0));
SetBkMode(hdc, TRANSPARENT);
if ( LoadStringW(hInst, 2673, chText, 260) )
{
UINT format = DT_CENTER | DT_VCENTER | DT_SINGLELINE;;
POINT monitorPoint = { 0, 0 };
auto v9 = MonitorFromPoint(monitorPoint, 1);
struct tagMONITORINFO mi;
mi.cbSize = 40;
GetMonitorInfoW(v9, &mi);
RECT rc = mi.rcMonitor;
auto v10 = -GetSystemMetrics(77);
auto SystemMetrics = GetSystemMetrics(76);
OffsetRect(&rc, -SystemMetrics, v10);
// blue border
RECT textRect = rc;
int width = 254;
int height = 93;
textRect.left = (rc.right - rc.left - width) / 2;
textRect.right = textRect.left + width;
textRect.top = (rc.bottom - rc.top - height) / 2;
textRect.bottom = textRect.top + height;
HBRUSH hBrush = CreateSolidBrush(RGB(197, 218, 231));
FillRect(hdc, &textRect, hBrush);
DeleteObject(hBrush);
// black border
textRect.left += 6;
textRect.right -= 6;
textRect.top += 6;
textRect.bottom -= 6;
hBrush = CreateSolidBrush(RGB(118,131,139));
FillRect(hdc, &textRect, hBrush);
DeleteObject(hBrush);
// white rectangle
textRect.left += 1;
textRect.right -= 1;
textRect.top += 1;
textRect.bottom -= 1;
hBrush = CreateSolidBrush(RGB(255,255,255));
FillRect(hdc, &textRect, hBrush);
DeleteObject(hBrush);
//bitmap
BITMAP bm;
HBITMAP hBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(601));
GetObject(hBitmap, sizeof(bm), &bm);
HDC memDC = CreateCompatibleDC(hdc);
HBITMAP hbOld = (HBITMAP)SelectObject(memDC, hBitmap);
BitBlt(hdc, textRect.left, textRect.top, bm.bmWidth, bm.bmHeight, memDC, 0, 0, SRCCOPY);
SelectObject(memDC, hbOld);
DeleteDC(memDC);
// text
DrawTextW(hdc, chText, -1, &rc, format);
}
DeleteObject(hf);
}
}
FreeLibrary(hInst);
HDC v4;
if ( *((QWORD *)This + 6) && (v4 = (HDC)*((QWORD *)This + 5)) != 0)
{
RECT rc;
HWND hwnd = WindowFromDC(hdc);
GetClientRect(hwnd, &rc);
int cx = GetSystemMetrics(SM_CXVIRTUALSCREEN);
int cy = GetSystemMetrics(SM_CYVIRTUALSCREEN);
int x = GetSystemMetrics(SM_XVIRTUALSCREEN);
int y = GetSystemMetrics(SM_YVIRTUALSCREEN);
HDC hScreenDC = GetDC(NULL);
HDC hMemDC = CreateCompatibleDC(hScreenDC);
auto g_hbDesktop = CreateCompatibleBitmap(hScreenDC, cx, cy);
SelectObject(hMemDC, g_hbDesktop);
BitBlt(hMemDC, 0, 0, cx, cy, hScreenDC, x, y, SRCCOPY);
GdiplusStartupInput gsi;
ULONG_PTR ulToken;
GdiplusStartup(&ulToken, &gsi, NULL);
Bitmap *bm = new Bitmap(g_hbDesktop, NULL);
//gray scale conversion:
Gdiplus::ColorMatrix matrix = {
0.3f * intensity + 1 - intensity, 0.3f * intensity, 0.3f * intensity, 0, 0,
0.59f * intensity, 0.59f * intensity + 1 - intensity, 0.59f * intensity, 0, 0,
0.11f * intensity, 0.11f * intensity, 0.11f * intensity + 1 - intensity, 0, 0,
0, 0, 0, 1, 0,
0, 0, 0, 0, 1
};
Gdiplus::ImageAttributes attr;
attr.SetColorMatrix(&matrix,
Gdiplus::ColorMatrixFlagsDefault, Gdiplus::ColorAdjustTypeBitmap);
HDC hScrDC = CreateCompatibleDC(hdc);
HBITMAP hBitmap = CreateCompatibleBitmap(hdc, bm->GetWidth(), bm->GetHeight());
SelectObject(hScrDC, hBitmap);
Gdiplus::Graphics *gr = new Gdiplus::Graphics(hScrDC);
Gdiplus::REAL w = (Gdiplus::REAL)bm->GetWidth();
Gdiplus::REAL h = (Gdiplus::REAL)bm->GetHeight();
Gdiplus::RectF rect(0, 0, w, h);
gr->DrawImage(bm, rect, 0, 0, w, h, Gdiplus::UnitPixel, &attr);
BitBlt(hdc, 0, 0, cx, cy, hScrDC, x, y,SRCCOPY);
DeleteDC(hScrDC);
DeleteObject(hBitmap);
delete gr;
delete bm;
DeleteObject(g_hbDesktop);
DeleteDC(hMemDC);
ReleaseDC(NULL, hScreenDC);
}
}
WNDPROC DlgProc_orig;
LRESULT CALLBACK DlgProc_hook(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
class CDimmedWindow* WindowLongPtrW = (class CDimmedWindow*)GetWindowLongPtrW(hWnd, -21);
LRESULT lr = DlgProc_orig(hWnd, uMsg, wParam, lParam);
if (WindowLongPtrW)
{
// idk how this works
CDimmedWindow_OnPaintHook(WindowLongPtrW, GetDC(*((HWND *)WindowLongPtrW + 3)));
}
return lr;
}
BOOL Wh_ModInit() {
Wh_Log(L"Init");
// private: int __cdecl CDimmedWindow::OnCreate(struct tagCREATESTRUCTW const *)
WindhawkUtils::SYMBOL_HOOK hooks[] = {
{
{L"private: void __cdecl CDimmedWindow::OnPaint(struct HDC__ *)"},
&CDimmedWindow_OnPaint,
CDimmedWindow_OnPaintHook,
false
},
{
{L"private: static __int64 __cdecl CDimmedWindow::WndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64)"},
&DlgProc_orig,
DlgProc_hook,
false
}};
hThemeui = LoadLibraryW(L"themeui.dll");
if (!WindhawkUtils::HookSymbols(hThemeui, hooks, ARRAYSIZE(hooks)))
{
Wh_Log(L"Failed to hook DUI");
return FALSE;
}
return TRUE;
}
// The mod is being unloaded, free all allocated resources.
void Wh_ModUninit() {
Wh_Log(L"Uninit");
}
|
|
NanamiMadobe
Sophomore Member
Likes trying to be Tech Savvy and learn more about Tech, also huge OS-Tan Fan!
Posts: 241
OS: Windows 10 (22H2)
Theme: Default
CPU: Intel Core i7-8550U @ 1.80GHz
RAM: 8.00 GB (7.9 GB usable)
GPU: Intel UHD Graphics 620 (Integrated), NVIDIA MX150 (Dedicated)
|
Post by NanamiMadobe on Sept 27, 2024 7:39:56 GMT -8
Dude what the hell are you going on about!? Windows 10 and 11 still have the please wait dialog its full screen unlike Windows 7. He means he wants the one from Windows 7. There is a windhawk recreation available. NOT MINE BTW
// ==WindhawkMod==
// @id waitbmp-loader
// @name Please Wait Bitmap Loader
// @description The best mod ever that does great things
// @version 0.1
// @author You
// @github https://github.com/nat
// @include rundll32.exe
// @include explorer.exe
// @include SystemSettings.exe
// @compilerOptions -lcomdlg32 -lgdi32 -lGdiplus
// ==/WindhawkMod==
// ==WindhawkModReadme==
/*
*/
// ==/WindhawkModReadme==
#include <windef.h>
#include <wingdi.h>
#ifdef _WIN64
#define STDCALL __cdecl
#define SSTDCALL L"__cdecl"
#else
#define STDCALL __stdcall
#define SSTDCALL L"__stdcall"
#endif
typedef unsigned __int64 QWORD;
#include <gdiplus.h>
#include <windhawk_utils.h>
#include <windows.h>
#include <thread>
#include <chrono>
using namespace Gdiplus;
typedef unsigned __int64 QWORD;
// change how fast it becomes gray
float intensity = 0.05f;
typedef void(STDCALL *CDimmedWindow_OnPaint_t)(class CDimmedWindow*, HDC);
CDimmedWindow_OnPaint_t CDimmedWindow_OnPaint;
HMODULE hThemeui;
void STDCALL CDimmedWindow_OnPaintHook(class CDimmedWindow* This, HDC hdc)
{
HINSTANCE hInst = LoadLibrary(L"themeui.dll");
WCHAR Buffer[32];
LOGFONTW lf;
WCHAR chText[32];
if (LoadStringW(hInst, 2675, Buffer, 32))
{
if ( LoadStringW(hInst, 2674, lf.lfFaceName, 32) )
{
HFONT hf = CreateFont(_wtoi(Buffer), 0, 0, 0, FW_SEMIBOLD, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, CLEARTYPE_QUALITY, FF_MODERN, lf.lfFaceName);
SelectObject(hdc, hf);
SetTextColor(hdc, RGB(0,0,0));
SetBkMode(hdc, TRANSPARENT);
if ( LoadStringW(hInst, 2673, chText, 260) )
{
UINT format = DT_CENTER | DT_VCENTER | DT_SINGLELINE;;
POINT monitorPoint = { 0, 0 };
auto v9 = MonitorFromPoint(monitorPoint, 1);
struct tagMONITORINFO mi;
mi.cbSize = 40;
GetMonitorInfoW(v9, &mi);
RECT rc = mi.rcMonitor;
auto v10 = -GetSystemMetrics(77);
auto SystemMetrics = GetSystemMetrics(76);
OffsetRect(&rc, -SystemMetrics, v10);
// blue border
RECT textRect = rc;
int width = 254;
int height = 93;
textRect.left = (rc.right - rc.left - width) / 2;
textRect.right = textRect.left + width;
textRect.top = (rc.bottom - rc.top - height) / 2;
textRect.bottom = textRect.top + height;
HBRUSH hBrush = CreateSolidBrush(RGB(197, 218, 231));
FillRect(hdc, &textRect, hBrush);
DeleteObject(hBrush);
// black border
textRect.left += 6;
textRect.right -= 6;
textRect.top += 6;
textRect.bottom -= 6;
hBrush = CreateSolidBrush(RGB(118,131,139));
FillRect(hdc, &textRect, hBrush);
DeleteObject(hBrush);
// white rectangle
textRect.left += 1;
textRect.right -= 1;
textRect.top += 1;
textRect.bottom -= 1;
hBrush = CreateSolidBrush(RGB(255,255,255));
FillRect(hdc, &textRect, hBrush);
DeleteObject(hBrush);
//bitmap
BITMAP bm;
HBITMAP hBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(601));
GetObject(hBitmap, sizeof(bm), &bm);
HDC memDC = CreateCompatibleDC(hdc);
HBITMAP hbOld = (HBITMAP)SelectObject(memDC, hBitmap);
BitBlt(hdc, textRect.left, textRect.top, bm.bmWidth, bm.bmHeight, memDC, 0, 0, SRCCOPY);
SelectObject(memDC, hbOld);
DeleteDC(memDC);
// text
DrawTextW(hdc, chText, -1, &rc, format);
}
DeleteObject(hf);
}
}
FreeLibrary(hInst);
HDC v4;
if ( *((QWORD *)This + 6) && (v4 = (HDC)*((QWORD *)This + 5)) != 0)
{
RECT rc;
HWND hwnd = WindowFromDC(hdc);
GetClientRect(hwnd, &rc);
int cx = GetSystemMetrics(SM_CXVIRTUALSCREEN);
int cy = GetSystemMetrics(SM_CYVIRTUALSCREEN);
int x = GetSystemMetrics(SM_XVIRTUALSCREEN);
int y = GetSystemMetrics(SM_YVIRTUALSCREEN);
HDC hScreenDC = GetDC(NULL);
HDC hMemDC = CreateCompatibleDC(hScreenDC);
auto g_hbDesktop = CreateCompatibleBitmap(hScreenDC, cx, cy);
SelectObject(hMemDC, g_hbDesktop);
BitBlt(hMemDC, 0, 0, cx, cy, hScreenDC, x, y, SRCCOPY);
GdiplusStartupInput gsi;
ULONG_PTR ulToken;
GdiplusStartup(&ulToken, &gsi, NULL);
Bitmap *bm = new Bitmap(g_hbDesktop, NULL);
//gray scale conversion:
Gdiplus::ColorMatrix matrix = {
0.3f * intensity + 1 - intensity, 0.3f * intensity, 0.3f * intensity, 0, 0,
0.59f * intensity, 0.59f * intensity + 1 - intensity, 0.59f * intensity, 0, 0,
0.11f * intensity, 0.11f * intensity, 0.11f * intensity + 1 - intensity, 0, 0,
0, 0, 0, 1, 0,
0, 0, 0, 0, 1
};
Gdiplus::ImageAttributes attr;
attr.SetColorMatrix(&matrix,
Gdiplus::ColorMatrixFlagsDefault, Gdiplus::ColorAdjustTypeBitmap);
HDC hScrDC = CreateCompatibleDC(hdc);
HBITMAP hBitmap = CreateCompatibleBitmap(hdc, bm->GetWidth(), bm->GetHeight());
SelectObject(hScrDC, hBitmap);
Gdiplus::Graphics *gr = new Gdiplus::Graphics(hScrDC);
Gdiplus::REAL w = (Gdiplus::REAL)bm->GetWidth();
Gdiplus::REAL h = (Gdiplus::REAL)bm->GetHeight();
Gdiplus::RectF rect(0, 0, w, h);
gr->DrawImage(bm, rect, 0, 0, w, h, Gdiplus::UnitPixel, &attr);
BitBlt(hdc, 0, 0, cx, cy, hScrDC, x, y,SRCCOPY);
DeleteDC(hScrDC);
DeleteObject(hBitmap);
delete gr;
delete bm;
DeleteObject(g_hbDesktop);
DeleteDC(hMemDC);
ReleaseDC(NULL, hScreenDC);
}
}
WNDPROC DlgProc_orig;
LRESULT CALLBACK DlgProc_hook(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
class CDimmedWindow* WindowLongPtrW = (class CDimmedWindow*)GetWindowLongPtrW(hWnd, -21);
LRESULT lr = DlgProc_orig(hWnd, uMsg, wParam, lParam);
if (WindowLongPtrW)
{
// idk how this works
CDimmedWindow_OnPaintHook(WindowLongPtrW, GetDC(*((HWND *)WindowLongPtrW + 3)));
}
return lr;
}
BOOL Wh_ModInit() {
Wh_Log(L"Init");
// private: int __cdecl CDimmedWindow::OnCreate(struct tagCREATESTRUCTW const *)
WindhawkUtils::SYMBOL_HOOK hooks[] = {
{
{L"private: void __cdecl CDimmedWindow::OnPaint(struct HDC__ *)"},
&CDimmedWindow_OnPaint,
CDimmedWindow_OnPaintHook,
false
},
{
{L"private: static __int64 __cdecl CDimmedWindow::WndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64)"},
&DlgProc_orig,
DlgProc_hook,
false
}};
hThemeui = LoadLibraryW(L"themeui.dll");
if (!WindhawkUtils::HookSymbols(hThemeui, hooks, ARRAYSIZE(hooks)))
{
Wh_Log(L"Failed to hook DUI");
return FALSE;
}
return TRUE;
}
// The mod is being unloaded, free all allocated resources.
void Wh_ModUninit() {
Wh_Log(L"Uninit");
} Oh Now I get I see, alright.
|
|
Down
Freshman Member
Posts: 65
OS: win10 22h2
Theme: aero10
|
Post by Down on Sept 27, 2024 19:02:02 GMT -8
He means he wants the one from Windows 7. There is a windhawk recreation available. NOT MINE BTW
// ==WindhawkMod==
// @id waitbmp-loader
// @name Please Wait Bitmap Loader
// @description The best mod ever that does great things
// @version 0.1
// @author You
// @github https://github.com/nat
// @include rundll32.exe
// @include explorer.exe
// @include SystemSettings.exe
// @compilerOptions -lcomdlg32 -lgdi32 -lGdiplus
// ==/WindhawkMod==
// ==WindhawkModReadme==
/*
*/
// ==/WindhawkModReadme==
#include <windef.h>
#include <wingdi.h>
#ifdef _WIN64
#define STDCALL __cdecl
#define SSTDCALL L"__cdecl"
#else
#define STDCALL __stdcall
#define SSTDCALL L"__stdcall"
#endif
typedef unsigned __int64 QWORD;
#include <gdiplus.h>
#include <windhawk_utils.h>
#include <windows.h>
#include <thread>
#include <chrono>
using namespace Gdiplus;
typedef unsigned __int64 QWORD;
// change how fast it becomes gray
float intensity = 0.05f;
typedef void(STDCALL *CDimmedWindow_OnPaint_t)(class CDimmedWindow*, HDC);
CDimmedWindow_OnPaint_t CDimmedWindow_OnPaint;
HMODULE hThemeui;
void STDCALL CDimmedWindow_OnPaintHook(class CDimmedWindow* This, HDC hdc)
{
HINSTANCE hInst = LoadLibrary(L"themeui.dll");
WCHAR Buffer[32];
LOGFONTW lf;
WCHAR chText[32];
if (LoadStringW(hInst, 2675, Buffer, 32))
{
if ( LoadStringW(hInst, 2674, lf.lfFaceName, 32) )
{
HFONT hf = CreateFont(_wtoi(Buffer), 0, 0, 0, FW_SEMIBOLD, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS, CLEARTYPE_QUALITY, FF_MODERN, lf.lfFaceName);
SelectObject(hdc, hf);
SetTextColor(hdc, RGB(0,0,0));
SetBkMode(hdc, TRANSPARENT);
if ( LoadStringW(hInst, 2673, chText, 260) )
{
UINT format = DT_CENTER | DT_VCENTER | DT_SINGLELINE;;
POINT monitorPoint = { 0, 0 };
auto v9 = MonitorFromPoint(monitorPoint, 1);
struct tagMONITORINFO mi;
mi.cbSize = 40;
GetMonitorInfoW(v9, &mi);
RECT rc = mi.rcMonitor;
auto v10 = -GetSystemMetrics(77);
auto SystemMetrics = GetSystemMetrics(76);
OffsetRect(&rc, -SystemMetrics, v10);
// blue border
RECT textRect = rc;
int width = 254;
int height = 93;
textRect.left = (rc.right - rc.left - width) / 2;
textRect.right = textRect.left + width;
textRect.top = (rc.bottom - rc.top - height) / 2;
textRect.bottom = textRect.top + height;
HBRUSH hBrush = CreateSolidBrush(RGB(197, 218, 231));
FillRect(hdc, &textRect, hBrush);
DeleteObject(hBrush);
// black border
textRect.left += 6;
textRect.right -= 6;
textRect.top += 6;
textRect.bottom -= 6;
hBrush = CreateSolidBrush(RGB(118,131,139));
FillRect(hdc, &textRect, hBrush);
DeleteObject(hBrush);
// white rectangle
textRect.left += 1;
textRect.right -= 1;
textRect.top += 1;
textRect.bottom -= 1;
hBrush = CreateSolidBrush(RGB(255,255,255));
FillRect(hdc, &textRect, hBrush);
DeleteObject(hBrush);
//bitmap
BITMAP bm;
HBITMAP hBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(601));
GetObject(hBitmap, sizeof(bm), &bm);
HDC memDC = CreateCompatibleDC(hdc);
HBITMAP hbOld = (HBITMAP)SelectObject(memDC, hBitmap);
BitBlt(hdc, textRect.left, textRect.top, bm.bmWidth, bm.bmHeight, memDC, 0, 0, SRCCOPY);
SelectObject(memDC, hbOld);
DeleteDC(memDC);
// text
DrawTextW(hdc, chText, -1, &rc, format);
}
DeleteObject(hf);
}
}
FreeLibrary(hInst);
HDC v4;
if ( *((QWORD *)This + 6) && (v4 = (HDC)*((QWORD *)This + 5)) != 0)
{
RECT rc;
HWND hwnd = WindowFromDC(hdc);
GetClientRect(hwnd, &rc);
int cx = GetSystemMetrics(SM_CXVIRTUALSCREEN);
int cy = GetSystemMetrics(SM_CYVIRTUALSCREEN);
int x = GetSystemMetrics(SM_XVIRTUALSCREEN);
int y = GetSystemMetrics(SM_YVIRTUALSCREEN);
HDC hScreenDC = GetDC(NULL);
HDC hMemDC = CreateCompatibleDC(hScreenDC);
auto g_hbDesktop = CreateCompatibleBitmap(hScreenDC, cx, cy);
SelectObject(hMemDC, g_hbDesktop);
BitBlt(hMemDC, 0, 0, cx, cy, hScreenDC, x, y, SRCCOPY);
GdiplusStartupInput gsi;
ULONG_PTR ulToken;
GdiplusStartup(&ulToken, &gsi, NULL);
Bitmap *bm = new Bitmap(g_hbDesktop, NULL);
//gray scale conversion:
Gdiplus::ColorMatrix matrix = {
0.3f * intensity + 1 - intensity, 0.3f * intensity, 0.3f * intensity, 0, 0,
0.59f * intensity, 0.59f * intensity + 1 - intensity, 0.59f * intensity, 0, 0,
0.11f * intensity, 0.11f * intensity, 0.11f * intensity + 1 - intensity, 0, 0,
0, 0, 0, 1, 0,
0, 0, 0, 0, 1
};
Gdiplus::ImageAttributes attr;
attr.SetColorMatrix(&matrix,
Gdiplus::ColorMatrixFlagsDefault, Gdiplus::ColorAdjustTypeBitmap);
HDC hScrDC = CreateCompatibleDC(hdc);
HBITMAP hBitmap = CreateCompatibleBitmap(hdc, bm->GetWidth(), bm->GetHeight());
SelectObject(hScrDC, hBitmap);
Gdiplus::Graphics *gr = new Gdiplus::Graphics(hScrDC);
Gdiplus::REAL w = (Gdiplus::REAL)bm->GetWidth();
Gdiplus::REAL h = (Gdiplus::REAL)bm->GetHeight();
Gdiplus::RectF rect(0, 0, w, h);
gr->DrawImage(bm, rect, 0, 0, w, h, Gdiplus::UnitPixel, &attr);
BitBlt(hdc, 0, 0, cx, cy, hScrDC, x, y,SRCCOPY);
DeleteDC(hScrDC);
DeleteObject(hBitmap);
delete gr;
delete bm;
DeleteObject(g_hbDesktop);
DeleteDC(hMemDC);
ReleaseDC(NULL, hScreenDC);
}
}
WNDPROC DlgProc_orig;
LRESULT CALLBACK DlgProc_hook(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
class CDimmedWindow* WindowLongPtrW = (class CDimmedWindow*)GetWindowLongPtrW(hWnd, -21);
LRESULT lr = DlgProc_orig(hWnd, uMsg, wParam, lParam);
if (WindowLongPtrW)
{
// idk how this works
CDimmedWindow_OnPaintHook(WindowLongPtrW, GetDC(*((HWND *)WindowLongPtrW + 3)));
}
return lr;
}
BOOL Wh_ModInit() {
Wh_Log(L"Init");
// private: int __cdecl CDimmedWindow::OnCreate(struct tagCREATESTRUCTW const *)
WindhawkUtils::SYMBOL_HOOK hooks[] = {
{
{L"private: void __cdecl CDimmedWindow::OnPaint(struct HDC__ *)"},
&CDimmedWindow_OnPaint,
CDimmedWindow_OnPaintHook,
false
},
{
{L"private: static __int64 __cdecl CDimmedWindow::WndProc(struct HWND__ *,unsigned int,unsigned __int64,__int64)"},
&DlgProc_orig,
DlgProc_hook,
false
}};
hThemeui = LoadLibraryW(L"themeui.dll");
if (!WindhawkUtils::HookSymbols(hThemeui, hooks, ARRAYSIZE(hooks)))
{
Wh_Log(L"Failed to hook DUI");
return FALSE;
}
return TRUE;
}
// The mod is being unloaded, free all allocated resources.
void Wh_ModUninit() {
Wh_Log(L"Uninit");
} thanks,that's what i want.but it just has the "please wait" letters in the middle of the screen but no blue background. Do i need a bitmap?oh,i think i should import the bitmap res from 7's themeui.dll to10's
|
|
StouakOvsky
Sophomore Member
Oguzok, is that you?..
Posts: 101
OS: Windows 10
Theme: Windows 7 (Aero)
RAM: 4 GB
|
Post by StouakOvsky on Sept 27, 2024 21:01:39 GMT -8
also,how can i use basic theme in uac but aero theme in windows? Install mode "Basic themer" In Windhawk and set in the settings "Use only in secure desktop".
|
|
Down
Freshman Member
Posts: 65
OS: win10 22h2
Theme: aero10
|
Post by Down on Sept 27, 2024 21:26:25 GMT -8
also,how can i use basic theme in uac but aero theme in windows? Install mode "Basic themer" In Windhawk and set in the settings "Use only in secure desktop".thanks
|
|
|
Post by liam27 on Sept 30, 2024 1:34:07 GMT -8
I want WinXP Sounds, I'm on Win10 anyways Idk if there's any sounds on Win10, but I wanna have the classic WinXP sound effects (Like startup, clicks and more) Can somebody help
|
|
tselim
Sophomore Member
entered a message
Posts: 142
OS: Windows 11 Pro 23H2
Theme: Aero5112 (modified)
CPU: AMD Ryzen 5 Pro 4650G With Raedon Graphics
RAM: 11.8 GB
GPU: AMD Raedon (TM) Graphics
|
Post by tselim on Sept 30, 2024 3:37:24 GMT -8
It is from a guy named Ken S
|
|
|
Post by liam27 on Sept 30, 2024 6:14:37 GMT -8
It is from a guy named Ken S
Oh ok, how do I apply to windows? Edit: nvm ) Tysm!
|
|
|
Post by liam27 on Sept 30, 2024 6:30:59 GMT -8
is there anyway i can get the windows xp style context menu on windows 10? Basically what i mean is renaming the list and probably redirect the personalize option to deskn.cpl
|
|
tselim
Sophomore Member
entered a message
Posts: 142
OS: Windows 11 Pro 23H2
Theme: Aero5112 (modified)
CPU: AMD Ryzen 5 Pro 4650G With Raedon Graphics
RAM: 11.8 GB
GPU: AMD Raedon (TM) Graphics
|
Post by tselim on Sept 30, 2024 7:58:14 GMT -8
|
|