From a3b3b097b20421fe6facdc6370911b73baa0ccc9 Mon Sep 17 00:00:00 2001
From: Bruce
Date: Wed, 26 Nov 2025 23:53:09 +0800
Subject: [PATCH] Update Shell Fix Package Store Logo Read
---
appinstaller/appinstaller.rc | Bin 14542 -> 14770 bytes
appinstaller/main.cpp | 568 +++++++++++++++++-
appinstaller/resmap.h | 5 +-
appinstaller/resource.h | Bin 7374 -> 7644 bytes
notice/notice.cpp | 128 +++-
notice/notice.h | 14 +-
notice/notice.vcxproj | 4 +-
pkgmgr/stdafx.h | 1 +
pkgread/pkgread.h | 17 +
shared/html/applist.html | 41 +-
.../html/deepseek_html_20251122_6d71df.html | 376 ------------
shared/html/js/init.js | 3 +-
12 files changed, 715 insertions(+), 442 deletions(-)
delete mode 100644 shared/html/deepseek_html_20251122_6d71df.html
diff --git a/appinstaller/appinstaller.rc b/appinstaller/appinstaller.rc
index 3303a6ffd018d6bea23ea8f85d51c73194e92381..171b37b86fc27834d6242c244ed9168f57a0a2ad 100644
GIT binary patch
delta 130
zcmX?CxT$!!q>8U7>3rY;07Ov-VE_OC
diff --git a/appinstaller/main.cpp b/appinstaller/main.cpp
index 6e900a0..42d82e7 100644
--- a/appinstaller/main.cpp
+++ b/appinstaller/main.cpp
@@ -183,7 +183,7 @@ public ref class SplashForm: public System::Windows::Forms::Form
picbox->Image = img;
}
}
- catch (...) { }
+ catch (...) {}
if (splashimg) picbox->Image = splashimg;
if (backcolor != Drawing::Color::Transparent)
{
@@ -434,6 +434,512 @@ HRESULT UpdateAppxPackageFromPath (
detailmsg = lpmsg ? lpmsg : L"";
return hr;
}
+bool IsWindows10 ()
+{
+#pragma warning(push)
+#pragma warning(disable:4996)
+ OSVERSIONINFOEX osvi = {0};
+ osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX);
+ osvi.dwMajorVersion = 10;
+ DWORDLONG conditionMask = 0;
+ VER_SET_CONDITION (conditionMask, VER_MAJORVERSION, VER_GREATER_EQUAL);
+ if (VerifyVersionInfoW (&osvi, VER_MAJORVERSION, conditionMask)) return TRUE;
+ DWORD error = GetLastError ();
+ return (error == ERROR_OLD_WIN_VERSION) ? FALSE : FALSE;
+#pragma warning(pop)
+}
+void ActivateApp (Object ^appid)
+{
+ auto res = ActivateAppxApplication (MPStringToStdW (appid->ToString ()));
+}
+[ComVisible (true)]
+public ref class AppListWnd: public System::Windows::Forms::Form
+{
+ public:
+ using WebBrowser = System::Windows::Forms::WebBrowser;
+ using Timer = System::Windows::Forms::Timer;
+ [ComVisible (true)]
+ ref class IBridge
+ {
+ private:
+ AppListWnd ^wndinst = nullptr;
+ public:
+ IBridge (AppListWnd ^wnd): wndinst (wnd) {}
+ ref class _I_HResult
+ {
+ private:
+ HRESULT hr = S_OK;
+ String ^errorcode = "";
+ String ^detailmsg = "";
+ public:
+ _I_HResult (HRESULT hres)
+ {
+ hr = hres;
+ detailmsg = CStringToMPString (HResultToMessage (hres));
+ }
+ _I_HResult (HRESULT hres, String ^error, String ^message)
+ {
+ hr = hres;
+ errorcode = error;
+ detailmsg = message;
+ }
+ property HRESULT HResult { HRESULT get () { return hr; }}
+ property String ^ErrorCode { String ^get () { return errorcode; }}
+ property String ^Message { String ^get () { return detailmsg; }}
+ property bool Succeeded { bool get () { return SUCCEEDED (hr); }}
+ property bool Failed { bool get () { return FAILED (hr); }}
+ };
+ ref class _I_System
+ {
+ private:
+ AppListWnd ^wndinst = nullptr;
+ public:
+ ref class _I_UI
+ {
+ private:
+ AppListWnd ^wndinst = nullptr;
+ public:
+ ref struct _I_UI_Size
+ {
+ private:
+ int m_width = 0;
+ int m_height = 0;
+ public:
+ property int width { int get () { return m_width; } }
+ property int height { int get () { return m_height; }}
+ property int Width { int get () { return m_width; } }
+ property int Height { int get () { return m_height; }}
+ int getWidth () { return m_width; }
+ int getHeight () { return m_height; }
+ _I_UI_Size (int w, int h): m_width (w), m_height (h) {}
+ };
+ _I_UI (AppListWnd ^wnd): wndinst (wnd) {}
+ property int DPIPercent { int get () { return GetDPI (); }}
+ property double DPI { double get () { return DPIPercent * 0.01; }}
+ property _I_UI_Size ^WndSize { _I_UI_Size ^get () { return gcnew _I_UI_Size (wndinst->Width, wndinst->Height); } }
+ property _I_UI_Size ^ClientSize { _I_UI_Size ^get () { auto cs = wndinst->ClientSize; return gcnew _I_UI_Size (cs.Width, cs.Height); } }
+ property String ^ThemeColor { String ^get () { return ColorToHtml (GetDwmThemeColor ()); } }
+ property bool DarkMode { bool get () { return IsAppInDarkMode (); }}
+ property String ^HighContrast
+ {
+ String ^get ()
+ {
+ auto highc = GetHighContrastTheme ();
+ switch (highc)
+ {
+ case HighContrastTheme::None: return "none";
+ break;
+ case HighContrastTheme::Black: return "black";
+ break;
+ case HighContrastTheme::White: return "white";
+ break;
+ case HighContrastTheme::Other: return "high";
+ break;
+ default: return "none";
+ break;
+ }
+ return "none";
+ }
+ }
+ };
+ ref class _I_Resources
+ {
+ public:
+ String ^GetById (unsigned int uiResId) { return GetRCStringCli (uiResId); }
+ unsigned ToId (String ^lpResName)
+ {
+ auto it = g_nameToId.find (MPStringToStdA (lpResName));
+ return (it != g_nameToId.end ()) ? it->second : 0;
+ }
+ String ^ToName (unsigned int ulResId)
+ {
+ for (auto &it : g_nameToId) { if (it.second == ulResId) return CStringToMPString (it.first); }
+ return "";
+ }
+ String ^GetByName (String ^lpResId) { return GetById (ToId (lpResId)); }
+ String ^operator [] (unsigned int uiResId) { return GetRCStringCli (uiResId); }
+ };
+ private:
+ _I_UI ^ui = gcnew _I_UI (wndinst);
+ _I_Resources ^ires = gcnew _I_Resources ();
+ public:
+ _I_System (AppListWnd ^wnd): wndinst (wnd) {}
+ property _I_UI ^UI { _I_UI ^get () { return ui; } }
+ property _I_Resources ^Resources { _I_Resources ^get () { return ires; } }
+ property bool IsWindows10
+ {
+ bool get ()
+ {
+ OSVERSIONINFOEX osvi = {0};
+ osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX);
+ osvi.dwMajorVersion = 10;
+ DWORDLONG conditionMask = 0;
+ VER_SET_CONDITION (conditionMask, VER_MAJORVERSION, VER_GREATER_EQUAL);
+ if (VerifyVersionInfoW (&osvi, VER_MAJORVERSION, conditionMask)) return TRUE;
+ DWORD error = GetLastError ();
+ return (error == ERROR_OLD_WIN_VERSION) ? FALSE : FALSE;
+ }
+ }
+ };
+ ref class _I_IEFrame
+ {
+ private:
+ AppListWnd ^wndinst = nullptr;
+ public:
+ _I_IEFrame (AppListWnd ^wnd): wndinst (wnd) {}
+ property int Scale
+ {
+ int get () { return wndinst->PageScale; }
+ void set (int value) { return wndinst->PageScale = value; }
+ }
+ property int Version { int get () { return GetInternetExplorerVersionMajor (); }}
+ String ^ParseHtmlColor (String ^color)
+ {
+ auto dcolor = Drawing::ColorTranslator::FromHtml (color);
+ {
+ rapidjson::Document doc;
+ doc.SetObject ();
+ auto &alloc = doc.GetAllocator ();
+ doc.AddMember ("r", (uint16_t)dcolor.R, alloc);
+ doc.AddMember ("g", (uint16_t)dcolor.G, alloc);
+ doc.AddMember ("b", (uint16_t)dcolor.B, alloc);
+ doc.AddMember ("a", (uint16_t)dcolor.A, alloc);
+ rapidjson::StringBuffer buffer;
+ rapidjson::Writer writer (buffer);
+ doc.Accept (writer);
+ std::string utf8 = buffer.GetString ();
+ std::wstring_convert > conv;
+ return CStringToMPString (conv.from_bytes (utf8));
+ }
+ return "{}";
+ }
+ };
+ ref class _I_String
+ {
+ public:
+ ref class _I_NString
+ {
+ public:
+ bool NEquals (String ^l, String ^r) { return IsNormalizeStringEquals (MPStringToPtrW (l), MPStringToPtrW (r)); }
+ bool Empty (String ^l) { return IsNormalizeStringEmpty (MPStringToStdW (l)); }
+ int Compare (String ^l, String ^r) { return NormalizeStringCompare (MPStringToPtrW (l), MPStringToPtrW (r)); }
+ int Length (String ^l) { return GetNormalizeStringLength (MPStringToStdW (l)); }
+ };
+ private:
+ _I_NString ^nstr = gcnew _I_NString ();
+ public:
+ property _I_NString ^NString { _I_NString ^get () { return nstr; }}
+ String ^Trim (String ^src)
+ {
+ std::wstring csrc = MPStringToStdW (src);
+ return CStringToMPString (::StringTrim (csrc));
+ }
+ String ^ToLower (String ^src) { return CStringToMPString (StringToLower (MPStringToStdW (src))); }
+ String ^ToUpper (String ^src) { return CStringToMPString (StringToUpper (MPStringToStdW (src))); }
+ String ^Format (String ^fmt, ... array
-
-
-
-
-
-
寮瑰嚭鍔ㄧ敾 (Flyout)
-
-
-
-
-
-
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
娓愬彉鍔ㄧ敾 (Opacity)
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
缂╂斁鍔ㄧ敾 (Scale)
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
榛樿鍔ㄧ敾 (Default)
-
-
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
杈圭紭鍔ㄧ敾 (Edge)
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
闈㈡澘鍔ㄧ敾 (Panel)
-
-
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
-
-
鎷栨斁鍔ㄧ敾 (Drag)
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
鍐呭鍔ㄧ敾 (Content)
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
椤甸潰鍔ㄧ敾 (Page)
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
鍏朵粬鍔ㄧ敾
-
-
-
-
-
-
-
绛夊緟鍔ㄧ敾鎵ц...
-
-
-
-
-
-
-
-
-
diff --git a/shared/html/deepseek_html_20251122_6d71df.html b/shared/html/deepseek_html_20251122_6d71df.html
deleted file mode 100644
index 5a36103..0000000
--- a/shared/html/deepseek_html_20251122_6d71df.html
+++ /dev/null
@@ -1,376 +0,0 @@
-
-
-