Skip to content

Commit 6ccceb7

Browse files
committed
Added proxy and browser version information to title bar
1 parent 75c8a07 commit 6ccceb7

File tree

3 files changed

+64
-3
lines changed

3 files changed

+64
-3
lines changed

BrowserProxy/BrowserProxy.cpp

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ BrowserProxyModule::BrowserProxyModule():
123123
m_size(),
124124
m_wnd(nullptr),
125125
m_url(),
126+
m_proxyVersion(),
127+
m_browserVersion(),
126128
m_userDataFolder(),
127129
m_browserEvents(),
128130
m_unknownSite(),
@@ -374,6 +376,32 @@ HRESULT STDMETHODCALLTYPE BrowserProxyModule::DoVerb(LONG iVerb, LPMSG lpmsg, IO
374376

375377
SetRect(*lprcPosRect);
376378

379+
{
380+
HRSRC source = FindResource(g_Instance, MAKEINTRESOURCE(VS_VERSION_INFO), RT_VERSION);
381+
if (source != nullptr)
382+
{
383+
HGLOBAL resource = LoadResource(g_Instance, source);
384+
if (resource != nullptr)
385+
{
386+
void *data = LockResource(resource);
387+
if (data != nullptr)
388+
{
389+
VS_FIXEDFILEINFO *version = nullptr;
390+
UINT size = 0;
391+
if (VerQueryValue(data, L"\\", (void**)&version, &size) && version != nullptr && size >= sizeof(VS_FIXEDFILEINFO))
392+
{
393+
WCHAR value[100];
394+
_snwprintf_s(value, _countof(value), L"%u.%u.%u",
395+
version->dwFileVersionMS >> 16 & 0xFFFF,
396+
version->dwFileVersionMS & 0xFFFF,
397+
version->dwFileVersionLS >> 16 & 0xFFFF);
398+
m_proxyVersion = value;
399+
}
400+
}
401+
}
402+
}
403+
}
404+
377405
{
378406
WCHAR userDataFolder[MAX_PATH] = {0};
379407
if (SUCCEEDED(SHGetFolderPath(nullptr, CSIDL_LOCAL_APPDATA, nullptr, SHGFP_TYPE_CURRENT, userDataFolder)) && userDataFolder[0] != 0)
@@ -660,6 +688,37 @@ HRESULT STDMETHODCALLTYPE BrowserProxyModule::Invoke(HRESULT errorCode, ICoreWeb
660688
if (environment == nullptr)
661689
return E_INVALIDARG;
662690

691+
{
692+
WCHAR *version = nullptr;
693+
if (FAILED(environment->get_BrowserVersionString(&version)) || version == nullptr)
694+
return E_FAIL;
695+
696+
m_browserVersion = version;
697+
CoTaskMemFree(version);
698+
}
699+
700+
{
701+
for (HWND wnd = m_wnd; wnd != nullptr; wnd = GetParent(wnd))
702+
{
703+
WCHAR className[100];
704+
if (GetClassName(wnd, className, _countof(className)) == 0)
705+
continue;
706+
707+
if (wcscmp(className, L"ThereTopLevelMdiWindowClass") != 0)
708+
continue;
709+
710+
WCHAR currentTitle[250];
711+
if (GetWindowText(wnd, currentTitle, _countof(currentTitle)) > 0 && wcsstr(currentTitle, L"Edge") == nullptr)
712+
{
713+
WCHAR extendedTitle[250];
714+
_snwprintf_s(extendedTitle, _countof(extendedTitle), L"%s (Edge %s %s)", currentTitle, m_proxyVersion.m_str, m_browserVersion.m_str);
715+
SetWindowText(wnd, extendedTitle);
716+
}
717+
718+
break;
719+
}
720+
}
721+
663722
m_environment = environment;
664723
m_environment->CreateCoreWebView2Controller(m_wnd, this);
665724
return S_OK;

BrowserProxy/BrowserProxy.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@ class BrowserProxyModule: public ATL::CAtlDllModuleT<BrowserProxyModule>,
187187
SIZE m_size;
188188
HWND m_wnd;
189189
CComBSTR m_url;
190+
CComBSTR m_proxyVersion;
191+
CComBSTR m_browserVersion;
190192
CComBSTR m_userDataFolder;
191193
CComPtr<IThereEdgeWebBrowserEvents2> m_browserEvents;
192194
CComPtr<IUnknown> m_unknownSite;

BrowserProxy/BrowserProxy.vcxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
<SubSystem>Windows</SubSystem>
104104
<ModuleDefinitionFile>.\BrowserProxy.def</ModuleDefinitionFile>
105105
<RegisterOutput>false</RegisterOutput>
106-
<AdditionalDependencies>wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
106+
<AdditionalDependencies>version.lib;wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
107107
</Link>
108108
</ItemDefinitionGroup>
109109
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -139,7 +139,7 @@
139139
<EnableCOMDATFolding>true</EnableCOMDATFolding>
140140
<OptimizeReferences>true</OptimizeReferences>
141141
<RegisterOutput>false</RegisterOutput>
142-
<AdditionalDependencies>wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
142+
<AdditionalDependencies>version.lib;wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
143143
</Link>
144144
</ItemDefinitionGroup>
145145
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">
@@ -176,7 +176,7 @@
176176
<EnableCOMDATFolding>true</EnableCOMDATFolding>
177177
<OptimizeReferences>true</OptimizeReferences>
178178
<RegisterOutput>false</RegisterOutput>
179-
<AdditionalDependencies>wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
179+
<AdditionalDependencies>version.lib;wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>
180180
</Link>
181181
</ItemDefinitionGroup>
182182
<ItemGroup>

0 commit comments

Comments
 (0)