Update Shell and Fix Bugs

This commit is contained in:
Bruce
2025-11-28 16:47:12 +08:00
parent bd4e0b41a3
commit 87efdc39df
30 changed files with 58707 additions and 547 deletions

View File

@@ -77,9 +77,43 @@ std::map <std::string, unsigned> g_nameToId = {
MAKENAMEIDMAP (IDS_FAILED_STITLE),
MAKENAMEIDMAP (IDS_APPLIST_WINTITLE),
MAKENAMEIDMAP (IDS_APPLIST_TITLE),
MAKENAMEIDMAP (IDS_APPLIST_CANCEL)
MAKENAMEIDMAP (IDS_APPLIST_CANCEL),
MAKENAMEIDMAP (IDS_MSGBOX_OK),
MAKENAMEIDMAP (IDS_MSGBOX_CANCEL),
MAKENAMEIDMAP (IDS_MSGBOX_ABORT),
MAKENAMEIDMAP (IDS_MSGBOX_RETRY),
MAKENAMEIDMAP (IDS_MSGBOX_IGNORE),
MAKENAMEIDMAP (IDS_MSGBOX_YES),
MAKENAMEIDMAP (IDS_MSGBOX_NO),
MAKENAMEIDMAP (IDS_MSGBOX_CLOSE),
MAKENAMEIDMAP (IDS_MSGBOX_HELP),
MAKENAMEIDMAP (IDS_MSGBOX_TRYAGAIN),
MAKENAMEIDMAP (IDS_MSGBOX_CONTINUE)
};
#ifdef MAKENAMEIDMAP
#undef MAKENAMEIDMAP
#endif
#ifdef __cplusplus_cli
using namespace System;
using namespace System::Runtime::InteropServices;
[ComVisible (true)]
public 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); }
};
#endif