|
Post by windowscluefinder on May 11, 2024 8:17:35 GMT -8
I am using Windows 10 LTSC 2021 and have installed the software DWMBlurGlass and Aero10 theme. VAN.dll window is loaded without frame. Which solution helped you?
|
|
TheMysteriousRainbow
Freshman Member
Removing all of the Metro/UWP apps out of existence...
Posts: 55
OS: Windows 10 IoT Enterprise LTSC 2021 x64 / Windows 11 Enterprise 22H2 x64
Theme: Windows 7 Aero (Windows 10) / Default (Windows 11)
CPU: AMD Ryzen 3 3250U @ 2.6GHz (HP Laptop 14-dk1022wm) / Intel(R) Core(TM) i5-8400 @ 2.8GHz (Lenovo ThinkCentre M720S)
RAM: 4GB (HP Laptop 14-dk1022wm) / 8 GB (Lenovo ThinkCentre M720S)
GPU: AMD Radeon Graphics Vega 3 (HP Laptop 14-dk1022wm) / Intel(R) UHD Graphics 630 (Lenovo ThinkCentre M720S)
Computer Make/Model: HP Laptop 14-dk1022wm / Lenovo ThinkCentre M720S
|
Post by TheMysteriousRainbow on May 11, 2024 16:51:50 GMT -8
Not working on my end
Any help will be appreciated!
|
|
|
Post by enderboy on May 11, 2024 23:11:06 GMT -8
Not working on my end
Any help will be appreciated!
Did you use the windhawk mod, also none of my windhawk mods are working because of symbols after being updated
|
|
xdektv
Sophomore Member
uwp --------> Recycle Bin
Posts: 122
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
Member is Online
|
Post by xdektv on May 12, 2024 3:19:56 GMT -8
|
|
xdektv
Sophomore Member
uwp --------> Recycle Bin
Posts: 122
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
Member is Online
|
Post by xdektv on May 12, 2024 3:21:25 GMT -8
Not working on my end
Any help will be appreciated!
check if you replaced dui70 string with dui71 using a hex editor (like hxd) for van.dll and xwtpdui.dll, and don't forget to use the windhawk mod
|
|
|
Post by windowscluefinder on May 12, 2024 7:19:34 GMT -8
|
|
TheMysteriousRainbow
Freshman Member
Removing all of the Metro/UWP apps out of existence...
Posts: 55
OS: Windows 10 IoT Enterprise LTSC 2021 x64 / Windows 11 Enterprise 22H2 x64
Theme: Windows 7 Aero (Windows 10) / Default (Windows 11)
CPU: AMD Ryzen 3 3250U @ 2.6GHz (HP Laptop 14-dk1022wm) / Intel(R) Core(TM) i5-8400 @ 2.8GHz (Lenovo ThinkCentre M720S)
RAM: 4GB (HP Laptop 14-dk1022wm) / 8 GB (Lenovo ThinkCentre M720S)
GPU: AMD Radeon Graphics Vega 3 (HP Laptop 14-dk1022wm) / Intel(R) UHD Graphics 630 (Lenovo ThinkCentre M720S)
Computer Make/Model: HP Laptop 14-dk1022wm / Lenovo ThinkCentre M720S
|
Post by TheMysteriousRainbow on May 12, 2024 14:23:01 GMT -8
Not working on my end
Any help will be appreciated!
Finally working after some attempts!
|
|
|
Post by Netocon on May 16, 2024 6:17:09 GMT -8
Network Flyout actually works but only with networks where the radio type is known. You can see that by hovering over the network. If its not known it loads indefinitely except if you have been connected before and dont need to enter a password.
Edit: One more take on the old network flyout. As far as i know not only do networks with unkown Radio type dont show the password dialog. Networks with Security type WPA2-Enterprise show the same behaviour. Those never worked for me on Windows 7. Even when logging in with proper credentials.
I can open the flyout but can't connect to any network, even if the radio type is known
|
|
leon04
Freshman Member
Posts: 36
OS: Windows 11 Pro
Theme: None
CPU: Laptop: i5 11300H; Desktop: Xeon X5675
RAM: Laptop: 16GB DDR4; Desktop: 32GB DDR3
GPU: Laptop: RTX3050Ti; Desktop: GTX1070
Computer Make/Model: Laptop: HP; Desktop Mobo: SuperMicro x58
|
Post by leon04 on May 16, 2024 13:46:08 GMT -8
Network Flyout actually works but only with networks where the radio type is known. You can see that by hovering over the network. If its not known it loads indefinitely except if you have been connected before and dont need to enter a password.
Edit: One more take on the old network flyout. As far as i know not only do networks with unkown Radio type dont show the password dialog. Networks with Security type WPA2-Enterprise show the same behaviour. Those never worked for me on Windows 7. Even when logging in with proper credentials.
I can open the flyout but can't connect to any network, even if the radio type is known Have you replaced all of the DLLs with the ones provided in that download. Did you also add the registry keys?
|
|
|
Post by Brawllux on May 16, 2024 13:52:44 GMT -8
Network Flyout actually works but only with networks where the radio type is known. You can see that by hovering over the network. If its not known it loads indefinitely except if you have been connected before and dont need to enter a password.
Edit: One more take on the old network flyout. As far as i know not only do networks with unkown Radio type dont show the password dialog. Networks with Security type WPA2-Enterprise show the same behaviour. Those never worked for me on Windows 7. Even when logging in with proper credentials.
I can open the flyout but can't connect to any network, even if the radio type is known It can only connect to networks that you have connected previously. Just like the stock Win8 flyout in Windows 10. It has been broken for a long time.
|
|
|
Post by wiktorwiktor12 on May 21, 2024 11:30:55 GMT -8
i have made an updated version of my windhawk mod, it now includes fixed thickframe borders and a toggle for them for use with basic theme setups
// ==WindhawkMod==
// @id win7-van-restore
// @name Restore windows 7 network flyout
// @description Hooks showminiflyout in pnidui.dll to call RunVANUI instead
// @version 0.1
// @author wiktorwiktor12 for WH mod, joleman11 for original discovery
// @include explorer.exe
// @compilerOptions -lcomdlg32 -lcomctl32 -lgdi32 -luxtheme -lole32 -ldwmapi
// ==/WindhawkMod==
// ==WindhawkModSettings==
/*
- useBasicTheme: false
$name: Use Basic Theme
$description: does not apply the thickframe window style to the window, so it acts as if it is basic theme
*/
// ==/WindhawkModSettings==
#include <Windows.h>
#include <minwindef.h>
#include <processthreadsapi.h>
#include <shellapi.h>
#include <stdio.h>
#include <windhawk_api.h>
#include <windhawk_utils.h>
#include <combaseapi.h>
#include <Objbase.h>
#include <dwmapi.h>
bool bUseBasicTheme = false;
bool DwmIsCompositionEnabledCustom(WINBOOL *pfEnabled)
{
bool result = DwmIsCompositionEnabled(pfEnabled);
if (bUseBasicTheme)
*pfEnabled = false;
return result;
}
inline HRESULT(*RunVANUI)(UINT param_1, int param_2, int param_3, int param_4, HANDLE param_5, int param_6);
DWORD StyleThreadId;
DWORD tickHid = 0;
const DWORD tickShowDelay = 250;
UINT g_uiVANWindowMessage = 0;
HWND g_VanHandle = 0;
RECT* g_rcAnchor = 0;
HWND GetVANWindow()
{
if (!g_VanHandle || !IsWindow(g_VanHandle))
g_VanHandle = FindWindowExW(0, 0, L"NativeHWNDHost", L"View Available Networks");
return g_VanHandle;
}
WINBOOL NotifyVAN(WPARAM param1,LPARAM param2)
{
UINT myMessage = RegisterWindowMessageW(L"Microsoft.VAN.Message");
HWND v8 = FindWindowExW(0, 0, L"NativeHWNDHost", L"View Available Networks");
if (v8 && IsWindow(v8))
{
auto res = PostMessageW(v8, myMessage, 0, 0);
return res;
}
return 0;
}
inline void(__cdecl*HideVanUI)(void* _this);
void HideVanUI_hook(void* _this)
{
HideVanUI(_this);
tickHid = GetTickCount();
}
inline __int64(__fastcall* ShowMiniFlyout_orig)(void* _this);
__int64 __fastcall ShowMiniFlyout_hook(void* _this)
{
if (GetTickCount() >= (tickHid + tickShowDelay) && NotifyVAN(0,0))
return 0;
if (GetTickCount() >= tickHid + tickShowDelay)
{
UINT myMessage = RegisterWindowMessageW(L"Microsoft.VAN.Message");
auto event = CreateEventW(0,1,0,0);
RunVANUI(myMessage,5,1,0,event,0);
HWND v8 = FindWindowExW(0, 0, L"NativeHWNDHost", L"View Available Networks");
CloseHandle(event);
}
return 0;
}
void(__fastcall* PositionVanUI)(void* _this, char a2, tagRECT* a3, int a4, UINT flags, POINT* anchorPoint);
void __fastcall PositionVanUI_Hook(void* _this, char a2, tagRECT* a3, int a4, UINT flags, POINT* anchorPoint)
{
int v6;
HWND v10;
int v11;
POINT *v12;
int v13;
SIZE windowSize;
int v15[2];
struct tagRECT rc;
struct tagRECT Rect;
int pvAttribute;
BOOL v19;
BOOL pfEnabled;
v6 = 0;
v10 = (HWND)*( (HWND*)(((uintptr_t)_this) + 0x10) );
if (!bUseBasicTheme)
{
SetWindowLongPtrW(v10, GWL_STYLE, GetWindowLongPtrW(v10, GWL_STYLE) | (WS_THICKFRAME) );
}
else
{
SetWindowLongPtrW(v10, GWL_STYLE, GetWindowLongPtrW(v10, GWL_STYLE) & ~(WS_THICKFRAME) );
}
if ( a2 )
{
pvAttribute = 0;
v19 = 1;
if ( DwmIsCompositionEnabledCustom(&v19) >= 0
&& DwmGetWindowAttribute(v10, 1u, &pvAttribute, 4u) >= 0
&& v19
&& !pvAttribute )
{
v13 = 2;
DwmSetWindowAttribute(v10, 2u, &v13, 4u);
}
pfEnabled = 0;
if ( DwmIsCompositionEnabledCustom(&pfEnabled) >= 0 )
{
if ( pfEnabled )
{
Rect.left = 0;
Rect.top = 0;
Rect.right = 0;
Rect.bottom = 0;
if ( AdjustWindowRectEx(&Rect, 0x40000u, 0, 0) )
{
v11 = (Rect.right - Rect.left) / 2;
v6 = GetSystemMetrics(49) / 2 + v11;
}
}
}
}
GetWindowRect(v10, &rc);
InflateRect(&rc, v6, v6);
windowSize.cx = rc.right - rc.left;
windowSize.cy = rc.bottom - rc.top;
if ( a3 )
{
windowSize.cx = 2 * v6 + a3->right - a3->left;
windowSize.cy = 2 * v6 + a3->bottom - a3->top;
}
v12 = (POINT *)v15;
v15[0] = (*g_rcAnchor).left;
v15[1] = (*g_rcAnchor).top;
if ( anchorPoint )
v12 = anchorPoint;
if ( CalculatePopupWindowPosition(v12, &windowSize, flags, g_rcAnchor, &rc) >= 0 )
SetWindowPos(
v10,
(HWND)(((uintptr_t)HWND_MESSAGE)|0x2),
rc.left + (v6/2),
rc.top+ (v6/2),
windowSize.cx - v6,
windowSize.cy - v6,
a4 | 0x100);
}
const WindhawkUtils::SYMBOL_HOOK hooks[] = {
{
{
L"private: long __cdecl CPniMainDlg::_ShowMiniFlyout(void)"
},
&ShowMiniFlyout_orig,
ShowMiniFlyout_hook,
false
}
};
const WindhawkUtils::SYMBOL_HOOK hooks2[] = {
{
{
L"public: void __cdecl CVanUI::HideVanUI(void)"
},
&HideVanUI,
HideVanUI_hook,
false
},
{
{
L"public: void __cdecl CListUiBase::PositionVanUI(bool,struct tagRECT *,unsigned int,unsigned int,struct tagPOINT *)"
},
&PositionVanUI,
PositionVanUI_Hook,
false
}
};
// The mod is being initialized, load settings, hook functions, and do other
// initialization stuff if required.
BOOL Wh_ModInit()
{
Wh_Log(L"Init");
bUseBasicTheme = Wh_GetIntSetting(L"useBasicTheme") >= 1;
Wh_Log(L"bUseBasicTheme %i",(int)bUseBasicTheme);
HMODULE pniduiModule = LoadLibrary(L"pnidui.dll");
if (!pniduiModule)
{
Wh_Log(L"pniduiModule not found");
return FALSE;
}
HMODULE vanModule = LoadLibrary(L"van.dll");
if (!vanModule)
{
Wh_Log(L"vanModule not found");
return FALSE;
}
RunVANUI = decltype(RunVANUI)(GetProcAddress(vanModule, "RunVANUI"));
if (!RunVANUI)
{
Wh_Log(L"RunVANUI not found");
return FALSE;
}
WH_FIND_SYMBOL findSymbol;
HANDLE firstSymbol = Wh_FindFirstSymbol(vanModule, NULL,&findSymbol);
if (!firstSymbol)
{
Wh_Log(L"Failed to get first Symbol!");
return FALSE;
}
do
{
if (_wcsicmp(findSymbol.symbol, L"struct tagRECT g_rcAnchor") == 0)
{
g_rcAnchor = decltype(g_rcAnchor)(findSymbol.address);
Wh_Log(L"g_rcAnchor %i %s",findSymbol.address,findSymbol.symbol);
break;
}
}
while (Wh_FindNextSymbol(firstSymbol,&findSymbol));
HMODULE xwizardsModule = LoadLibrary(L"xwizards.dll");
if (!xwizardsModule)
{
Wh_Log(L"xwizardsModule not found");
return FALSE;
}
g_uiVANWindowMessage = RegisterWindowMessageW(L"Microsoft.VAN.Message");
if ( !WindhawkUtils::HookSymbols(pniduiModule,hooks, ARRAYSIZE(hooks)) || !WindhawkUtils::HookSymbols(vanModule,hooks2, ARRAYSIZE(hooks2)) )
{
Wh_Log(L"Failed to hook one or more symbol functions");
return FALSE;
}
return TRUE;
}
// The mod is being unloaded, free all allocated resources.
void Wh_ModUninit()
{
Wh_Log(L"Uninit");
}
void Wh_ModSettingsChanged(void)
{
bUseBasicTheme = Wh_GetIntSetting(L"useBasicTheme") >= 1;
Wh_Log(L"bUseBasicTheme %i",(int)bUseBasicTheme);
}
|
|
K4sum1
Freshman Member
Posts: 25
OS: Windows 8.1 Pro x64
Theme: The most jank way to get classic theme
CPU: AMD Ryzen 9 5950X
RAM: Patriot Viper Steel 64GB 2x32GB@3800MHz
GPU: EVGA Geforce RTX 2080 Ti Black
|
Post by K4sum1 on May 21, 2024 15:43:56 GMT -8
I made this for 8 based off of the thing sent before. Just install it and it seems to just work. files.catbox.moe/8oq49e.7zTo get the new network thing to appear you should restart, however restarting explorer seems to work as well.
Edit: The password prompt doesn't show at all. Otherwise it seems to work. Not sure why it's broken
|
|
|
Post by wiktorwiktor12 on May 24, 2024 13:02:49 GMT -8
forgot to prevent resizing
// ==WindhawkMod==
// @id win7-van-restore
// @name Restore windows 7 network flyout
// @description Hooks showminiflyout in pnidui.dll to call RunVANUI instead
// @version 0.1
// @author wiktorwiktor12 for WH mod, joleman11 for original discovery
// @include explorer.exe
// @compilerOptions -lcomdlg32 -lcomctl32 -lgdi32 -luxtheme -lole32 -ldwmapi
// ==/WindhawkMod==
// ==WindhawkModSettings==
/*
- useBasicTheme: false
$name: Use Basic Theme
$description: does not apply the thickframe window style to the window, so it acts as if it is basic theme
*/
// ==/WindhawkModSettings==
#include <Windows.h>
#include <minwindef.h>
#include <processthreadsapi.h>
#include <shellapi.h>
#include <stdio.h>
#include <windhawk_api.h>
#include <windhawk_utils.h>
#include <combaseapi.h>
#include <Objbase.h>
#include <dwmapi.h>
bool bUseBasicTheme = false;
bool DwmIsCompositionEnabledCustom(WINBOOL *pfEnabled)
{
bool result = DwmIsCompositionEnabled(pfEnabled);
if (bUseBasicTheme)
*pfEnabled = false;
return result;
}
inline HRESULT(*RunVANUI)(UINT param_1, int param_2, int param_3, int param_4, HANDLE param_5, int param_6);
DWORD StyleThreadId;
DWORD tickHid = 0;
const DWORD tickShowDelay = 250;
UINT g_uiVANWindowMessage = 0;
HWND g_VanHandle = 0;
RECT* g_rcAnchor = 0;
HWND GetVANWindow()
{
if (!g_VanHandle || !IsWindow(g_VanHandle))
g_VanHandle = FindWindowExW(0, 0, L"NativeHWNDHost", L"View Available Networks");
return g_VanHandle;
}
WINBOOL NotifyVAN(WPARAM param1,LPARAM param2)
{
UINT myMessage = RegisterWindowMessageW(L"Microsoft.VAN.Message");
HWND v8 = FindWindowExW(0, 0, L"NativeHWNDHost", L"View Available Networks");
if (v8 && IsWindow(v8))
{
auto res = PostMessageW(v8, myMessage, 0, 0);
return res;
}
return 0;
}
inline void(__cdecl*HideVanUI)(void* _this);
void HideVanUI_hook(void* _this)
{
HideVanUI(_this);
tickHid = GetTickCount();
}
inline __int64(__fastcall* ShowMiniFlyout_orig)(void* _this);
__int64 __fastcall ShowMiniFlyout_hook(void* _this)
{
if (GetTickCount() >= (tickHid + tickShowDelay) && NotifyVAN(0,0))
return 0;
if (GetTickCount() >= tickHid + tickShowDelay)
{
UINT myMessage = RegisterWindowMessageW(L"Microsoft.VAN.Message");
auto event = CreateEventW(0,1,0,0);
RunVANUI(myMessage,5,1,0,event,0);
HWND v8 = FindWindowExW(0, 0, L"NativeHWNDHost", L"View Available Networks");
CloseHandle(event);
}
return 0;
}
void(__fastcall* PositionVanUI)(void* _this, char a2, tagRECT* a3, int a4, UINT flags, POINT* anchorPoint);
void __fastcall PositionVanUI_Hook(void* _this, char a2, tagRECT* a3, int a4, UINT flags, POINT* anchorPoint)
{
int v6;
HWND v10;
int v11;
POINT *v12;
int v13;
SIZE windowSize;
int v15[2];
struct tagRECT rc;
struct tagRECT Rect;
int pvAttribute;
BOOL v19;
BOOL pfEnabled;
v6 = 0;
v10 = (HWND)*( (HWND*)(((uintptr_t)_this) + 0x10) );
if (!bUseBasicTheme)
{
SetWindowLongPtrW(v10, GWL_STYLE, GetWindowLongPtrW(v10, GWL_STYLE) | (WS_THICKFRAME) );
}
else
{
SetWindowLongPtrW(v10, GWL_STYLE, GetWindowLongPtrW(v10, GWL_STYLE) & ~(WS_THICKFRAME) );
}
if ( a2 )
{
pvAttribute = 0;
v19 = 1;
if ( DwmIsCompositionEnabledCustom(&v19) >= 0
&& DwmGetWindowAttribute(v10, 1u, &pvAttribute, 4u) >= 0
&& v19
&& !pvAttribute )
{
v13 = 2;
DwmSetWindowAttribute(v10, 2u, &v13, 4u);
}
pfEnabled = 0;
if ( DwmIsCompositionEnabledCustom(&pfEnabled) >= 0 )
{
if ( pfEnabled )
{
Rect.left = 0;
Rect.top = 0;
Rect.right = 0;
Rect.bottom = 0;
if ( AdjustWindowRectEx(&Rect, 0x40000u, 0, 0) )
{
v11 = (Rect.right - Rect.left) / 2;
v6 = GetSystemMetrics(49) / 2 + v11;
}
}
}
}
GetWindowRect(v10, &rc);
InflateRect(&rc, v6, v6);
windowSize.cx = rc.right - rc.left;
windowSize.cy = rc.bottom - rc.top;
if ( a3 )
{
windowSize.cx = 2 * v6 + a3->right - a3->left;
windowSize.cy = 2 * v6 + a3->bottom - a3->top;
}
v12 = (POINT *)v15;
v15[0] = (*g_rcAnchor).left;
v15[1] = (*g_rcAnchor).top;
if ( anchorPoint )
v12 = anchorPoint;
if ( CalculatePopupWindowPosition(v12, &windowSize, flags, g_rcAnchor, &rc) >= 0 )
SetWindowPos(
v10,
(HWND)(((uintptr_t)HWND_MESSAGE)|0x2),
rc.left + (v6/2),
rc.top+ (v6/2),
windowSize.cx - v6,
windowSize.cy - v6,
a4 | 0x100);
}
LRESULT(__fastcall*CVanUI_TopWindowSubclassProc)(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,unsigned __int64 a4,unsigned __int64 a5);
LRESULT __fastcall CVanUI_TopWindowSubclassProc_Hook(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
unsigned __int64 a4,
unsigned __int64 a5
)
{
if (uMsg == WM_NCHITTEST)
{
LRESULT lr = CVanUI_TopWindowSubclassProc(
hWnd, uMsg, wParam, lParam,a4,a5
);
switch (lr)
{
case HTTOP:
case HTTOPRIGHT:
case HTRIGHT:
case HTBOTTOMRIGHT:
case HTBOTTOM:
case HTBOTTOMLEFT:
case HTLEFT:
case HTTOPLEFT:
return HTCLIENT;
default:
return lr;
}
}
return CVanUI_TopWindowSubclassProc(
hWnd, uMsg, wParam, lParam,a4,a5
);
}
const WindhawkUtils::SYMBOL_HOOK hooks[] = {
{
{
L"private: long __cdecl CPniMainDlg::_ShowMiniFlyout(void)"
},
&ShowMiniFlyout_orig,
ShowMiniFlyout_hook,
false
}
};
const WindhawkUtils::SYMBOL_HOOK hooks2[] = {
{
{
L"public: void __cdecl CVanUI::HideVanUI(void)"
},
&HideVanUI,
HideVanUI_hook,
false
},
{
{
L"public: void __cdecl CListUiBase::PositionVanUI(bool,struct tagRECT *,unsigned int,unsigned int,struct tagPOINT *)"
},
&PositionVanUI,
PositionVanUI_Hook,
false
},
{
{
L"public: static __int64 __cdecl CVanUI::TopWindowSubclassProc(struct HWND__ *,unsigned int,unsigned __int64,__int64,unsigned __int64,unsigned __int64)"
},
&CVanUI_TopWindowSubclassProc,
CVanUI_TopWindowSubclassProc_Hook,
false
}
};
// The mod is being initialized, load settings, hook functions, and do other
// initialization stuff if required.
BOOL Wh_ModInit()
{
Wh_Log(L"Init");
bUseBasicTheme = Wh_GetIntSetting(L"useBasicTheme") >= 1;
Wh_Log(L"bUseBasicTheme %i",(int)bUseBasicTheme);
HMODULE pniduiModule = LoadLibrary(L"pnidui.dll");
if (!pniduiModule)
{
Wh_Log(L"pniduiModule not found");
return FALSE;
}
HMODULE vanModule = LoadLibrary(L"van.dll");
if (!vanModule)
{
Wh_Log(L"vanModule not found");
return FALSE;
}
RunVANUI = decltype(RunVANUI)(GetProcAddress(vanModule, "RunVANUI"));
if (!RunVANUI)
{
Wh_Log(L"RunVANUI not found");
return FALSE;
}
WH_FIND_SYMBOL findSymbol;
HANDLE firstSymbol = Wh_FindFirstSymbol(vanModule, NULL,&findSymbol);
if (!firstSymbol)
{
Wh_Log(L"Failed to get first Symbol!");
return FALSE;
}
do
{
if (_wcsicmp(findSymbol.symbol, L"struct tagRECT g_rcAnchor") == 0)
{
g_rcAnchor = decltype(g_rcAnchor)(findSymbol.address);
Wh_Log(L"g_rcAnchor %i %s",findSymbol.address,findSymbol.symbol);
break;
}
}
while (Wh_FindNextSymbol(firstSymbol,&findSymbol));
HMODULE xwizardsModule = LoadLibrary(L"xwizards.dll");
if (!xwizardsModule)
{
Wh_Log(L"xwizardsModule not found");
return FALSE;
}
g_uiVANWindowMessage = RegisterWindowMessageW(L"Microsoft.VAN.Message");
if ( !WindhawkUtils::HookSymbols(pniduiModule,hooks, ARRAYSIZE(hooks)) || !WindhawkUtils::HookSymbols(vanModule,hooks2, ARRAYSIZE(hooks2)) )
{
Wh_Log(L"Failed to hook one or more symbol functions");
return FALSE;
}
return TRUE;
}
// The mod is being unloaded, free all allocated resources.
void Wh_ModUninit()
{
Wh_Log(L"Uninit");
}
void Wh_ModSettingsChanged(void)
{
bUseBasicTheme = Wh_GetIntSetting(L"useBasicTheme") >= 1;
Wh_Log(L"bUseBasicTheme %i",(int)bUseBasicTheme);
}
|
|
|
Post by nikita28347 on May 28, 2024 5:39:39 GMT -8
Don’t do the same mistake as I did! Don’t rename the native dui70.dll to dui70.dll.old
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on May 28, 2024 5:59:29 GMT -8
Damn nice. Good Job!
|
|
xdektv
Sophomore Member
uwp --------> Recycle Bin
Posts: 122
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
Member is Online
|
Post by xdektv on May 28, 2024 10:48:30 GMT -8
Don't think its VAN.dll doing that, maybe open the UIFILE for Network and Sharing Center inside of Resource Hacker and see if you can find something. Yup, it was not in VAN.dll. Good news though, I found the Win7 and Win10 .dll file names. [Image 1] "C:\Windows\system32\rundll32.exe" pnidui.dll,NwCategoryWiz {profileuuid} 0 [Image 2] "C:\Windows\system32\rundll32.exe" pnidui.dll,NwCategoryWiz {profileuuid} 1 (Might explain why the home icon is incorrect) [Image 3] Simple text mod of SetNetworkLocationFlyout.dll.mui (There's also SetNetworkLocation.dll, but I don't know what it does) Is there a way to bring back the 1st one to windows 10?
|
|
|
Post by Windows User on Jun 2, 2024 4:44:19 GMT -8
I made this for 8 based off of the thing sent before. Just install it and it seems to just work. files.catbox.moe/8oq49e.7zTo get the new network thing to appear you should restart, however restarting explorer seems to work as well. Edit: The password prompt doesn't show at all. Otherwise it seems to work. Not sure why it's broken
For some reason, Windows Security thinks that this file is a virus but Winclassic.net is safe and secure!
|
|
|
Post by ephemeralViolette on Jun 2, 2024 16:30:17 GMT -8
I made this for 8 based off of the thing sent before. Just install it and it seems to just work. files.catbox.moe/8oq49e.7zTo get the new network thing to appear you should restart, however restarting explorer seems to work as well. Edit: The password prompt doesn't show at all. Otherwise it seems to work. Not sure why it's broken
View AttachmentFor some reason, Windows Security thinks that this file is a virus but Winclassic.net is safe and secure! You can disregard this. Windows Defender simply flags files originating from catbox.moe as malicious. If you read the notice, it just says "MalUri" meaning "malicious URI".
|
|
|
Post by Brawllux on Jun 19, 2024 8:15:11 GMT -8
forgot to prevent resizing // ==WindhawkMod==
// @id win7-van-restore
// @name Restore windows 7 network flyout
// @description Hooks showminiflyout in pnidui.dll to call RunVANUI instead
// @version 0.1
// @author wiktorwiktor12 for WH mod, joleman11 for original discovery
// @include explorer.exe
// @compilerOptions -lcomdlg32 -lcomctl32 -lgdi32 -luxtheme -lole32 -ldwmapi
// ==/WindhawkMod==
// ==WindhawkModSettings==
/*
- useBasicTheme: false
$name: Use Basic Theme
$description: does not apply the thickframe window style to the window, so it acts as if it is basic theme
*/
// ==/WindhawkModSettings==
#include <Windows.h>
#include <minwindef.h>
#include <processthreadsapi.h>
#include <shellapi.h>
#include <stdio.h>
#include <windhawk_api.h>
#include <windhawk_utils.h>
#include <combaseapi.h>
#include <Objbase.h>
#include <dwmapi.h>
bool bUseBasicTheme = false;
bool DwmIsCompositionEnabledCustom(WINBOOL *pfEnabled)
{
bool result = DwmIsCompositionEnabled(pfEnabled);
if (bUseBasicTheme)
*pfEnabled = false;
return result;
}
inline HRESULT(*RunVANUI)(UINT param_1, int param_2, int param_3, int param_4, HANDLE param_5, int param_6);
DWORD StyleThreadId;
DWORD tickHid = 0;
const DWORD tickShowDelay = 250;
UINT g_uiVANWindowMessage = 0;
HWND g_VanHandle = 0;
RECT* g_rcAnchor = 0;
HWND GetVANWindow()
{
if (!g_VanHandle || !IsWindow(g_VanHandle))
g_VanHandle = FindWindowExW(0, 0, L"NativeHWNDHost", L"View Available Networks");
return g_VanHandle;
}
WINBOOL NotifyVAN(WPARAM param1,LPARAM param2)
{
UINT myMessage = RegisterWindowMessageW(L"Microsoft.VAN.Message");
HWND v8 = FindWindowExW(0, 0, L"NativeHWNDHost", L"View Available Networks");
if (v8 && IsWindow(v8))
{
auto res = PostMessageW(v8, myMessage, 0, 0);
return res;
}
return 0;
}
inline void(__cdecl*HideVanUI)(void* _this);
void HideVanUI_hook(void* _this)
{
HideVanUI(_this);
tickHid = GetTickCount();
}
inline __int64(__fastcall* ShowMiniFlyout_orig)(void* _this);
__int64 __fastcall ShowMiniFlyout_hook(void* _this)
{
if (GetTickCount() >= (tickHid + tickShowDelay) && NotifyVAN(0,0))
return 0;
if (GetTickCount() >= tickHid + tickShowDelay)
{
UINT myMessage = RegisterWindowMessageW(L"Microsoft.VAN.Message");
auto event = CreateEventW(0,1,0,0);
RunVANUI(myMessage,5,1,0,event,0);
HWND v8 = FindWindowExW(0, 0, L"NativeHWNDHost", L"View Available Networks");
CloseHandle(event);
}
return 0;
}
void(__fastcall* PositionVanUI)(void* _this, char a2, tagRECT* a3, int a4, UINT flags, POINT* anchorPoint);
void __fastcall PositionVanUI_Hook(void* _this, char a2, tagRECT* a3, int a4, UINT flags, POINT* anchorPoint)
{
int v6;
HWND v10;
int v11;
POINT *v12;
int v13;
SIZE windowSize;
int v15[2];
struct tagRECT rc;
struct tagRECT Rect;
int pvAttribute;
BOOL v19;
BOOL pfEnabled;
v6 = 0;
v10 = (HWND)*( (HWND*)(((uintptr_t)_this) + 0x10) );
if (!bUseBasicTheme)
{
SetWindowLongPtrW(v10, GWL_STYLE, GetWindowLongPtrW(v10, GWL_STYLE) | (WS_THICKFRAME) );
}
else
{
SetWindowLongPtrW(v10, GWL_STYLE, GetWindowLongPtrW(v10, GWL_STYLE) & ~(WS_THICKFRAME) );
}
if ( a2 )
{
pvAttribute = 0;
v19 = 1;
if ( DwmIsCompositionEnabledCustom(&v19) >= 0
&& DwmGetWindowAttribute(v10, 1u, &pvAttribute, 4u) >= 0
&& v19
&& !pvAttribute )
{
v13 = 2;
DwmSetWindowAttribute(v10, 2u, &v13, 4u);
}
pfEnabled = 0;
if ( DwmIsCompositionEnabledCustom(&pfEnabled) >= 0 )
{
if ( pfEnabled )
{
Rect.left = 0;
Rect.top = 0;
Rect.right = 0;
Rect.bottom = 0;
if ( AdjustWindowRectEx(&Rect, 0x40000u, 0, 0) )
{
v11 = (Rect.right - Rect.left) / 2;
v6 = GetSystemMetrics(49) / 2 + v11;
}
}
}
}
GetWindowRect(v10, &rc);
InflateRect(&rc, v6, v6);
windowSize.cx = rc.right - rc.left;
windowSize.cy = rc.bottom - rc.top;
if ( a3 )
{
windowSize.cx = 2 * v6 + a3->right - a3->left;
windowSize.cy = 2 * v6 + a3->bottom - a3->top;
}
v12 = (POINT *)v15;
v15[0] = (*g_rcAnchor).left;
v15[1] = (*g_rcAnchor).top;
if ( anchorPoint )
v12 = anchorPoint;
if ( CalculatePopupWindowPosition(v12, &windowSize, flags, g_rcAnchor, &rc) >= 0 )
SetWindowPos(
v10,
(HWND)(((uintptr_t)HWND_MESSAGE)|0x2),
rc.left + (v6/2),
rc.top+ (v6/2),
windowSize.cx - v6,
windowSize.cy - v6,
a4 | 0x100);
}
LRESULT(__fastcall*CVanUI_TopWindowSubclassProc)(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam,unsigned __int64 a4,unsigned __int64 a5);
LRESULT __fastcall CVanUI_TopWindowSubclassProc_Hook(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
unsigned __int64 a4,
unsigned __int64 a5
)
{
if (uMsg == WM_NCHITTEST)
{
LRESULT lr = CVanUI_TopWindowSubclassProc(
hWnd, uMsg, wParam, lParam,a4,a5
);
switch (lr)
{
case HTTOP:
case HTTOPRIGHT:
case HTRIGHT:
case HTBOTTOMRIGHT:
case HTBOTTOM:
case HTBOTTOMLEFT:
case HTLEFT:
case HTTOPLEFT:
return HTCLIENT;
default:
return lr;
}
}
return CVanUI_TopWindowSubclassProc(
hWnd, uMsg, wParam, lParam,a4,a5
);
}
const WindhawkUtils::SYMBOL_HOOK hooks[] = {
{
{
L"private: long __cdecl CPniMainDlg::_ShowMiniFlyout(void)"
},
&ShowMiniFlyout_orig,
ShowMiniFlyout_hook,
false
}
};
const WindhawkUtils::SYMBOL_HOOK hooks2[] = {
{
{
L"public: void __cdecl CVanUI::HideVanUI(void)"
},
&HideVanUI,
HideVanUI_hook,
false
},
{
{
L"public: void __cdecl CListUiBase::PositionVanUI(bool,struct tagRECT *,unsigned int,unsigned int,struct tagPOINT *)"
},
&PositionVanUI,
PositionVanUI_Hook,
false
},
{
{
L"public: static __int64 __cdecl CVanUI::TopWindowSubclassProc(struct HWND__ *,unsigned int,unsigned __int64,__int64,unsigned __int64,unsigned __int64)"
},
&CVanUI_TopWindowSubclassProc,
CVanUI_TopWindowSubclassProc_Hook,
false
}
};
// The mod is being initialized, load settings, hook functions, and do other
// initialization stuff if required.
BOOL Wh_ModInit()
{
Wh_Log(L"Init");
bUseBasicTheme = Wh_GetIntSetting(L"useBasicTheme") >= 1;
Wh_Log(L"bUseBasicTheme %i",(int)bUseBasicTheme);
HMODULE pniduiModule = LoadLibrary(L"pnidui.dll");
if (!pniduiModule)
{
Wh_Log(L"pniduiModule not found");
return FALSE;
}
HMODULE vanModule = LoadLibrary(L"van.dll");
if (!vanModule)
{
Wh_Log(L"vanModule not found");
return FALSE;
}
RunVANUI = decltype(RunVANUI)(GetProcAddress(vanModule, "RunVANUI"));
if (!RunVANUI)
{
Wh_Log(L"RunVANUI not found");
return FALSE;
}
WH_FIND_SYMBOL findSymbol;
HANDLE firstSymbol = Wh_FindFirstSymbol(vanModule, NULL,&findSymbol);
if (!firstSymbol)
{
Wh_Log(L"Failed to get first Symbol!");
return FALSE;
}
do
{
if (_wcsicmp(findSymbol.symbol, L"struct tagRECT g_rcAnchor") == 0)
{
g_rcAnchor = decltype(g_rcAnchor)(findSymbol.address);
Wh_Log(L"g_rcAnchor %i %s",findSymbol.address,findSymbol.symbol);
break;
}
}
while (Wh_FindNextSymbol(firstSymbol,&findSymbol));
HMODULE xwizardsModule = LoadLibrary(L"xwizards.dll");
if (!xwizardsModule)
{
Wh_Log(L"xwizardsModule not found");
return FALSE;
}
g_uiVANWindowMessage = RegisterWindowMessageW(L"Microsoft.VAN.Message");
if ( !WindhawkUtils::HookSymbols(pniduiModule,hooks, ARRAYSIZE(hooks)) || !WindhawkUtils::HookSymbols(vanModule,hooks2, ARRAYSIZE(hooks2)) )
{
Wh_Log(L"Failed to hook one or more symbol functions");
return FALSE;
}
return TRUE;
}
// The mod is being unloaded, free all allocated resources.
void Wh_ModUninit()
{
Wh_Log(L"Uninit");
}
void Wh_ModSettingsChanged(void)
{
bUseBasicTheme = Wh_GetIntSetting(L"useBasicTheme") >= 1;
Wh_Log(L"bUseBasicTheme %i",(int)bUseBasicTheme);
} There is another problem i noticed,when using the exe the flyout will never disappear unless you unfocus,but with the windhawk mod it will sometimes close off by itself. Almost looks like it is crashing.
|
|
ilyas
New Member
Posts: 1
|
Post by ilyas on Jun 20, 2024 7:08:48 GMT -8
I don't really understand the thread, do I just need the Windhawk mod or do I also need the DLLs from Windows 7?
|
|