]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
Remove VTOY_HELP_TXT_LANGUAGE option from Global Control Plugin.
authorlongpanda <admin@ventoy.net>
Sat, 3 Dec 2022 06:33:52 +0000 (14:33 +0800)
committerlongpanda <admin@ventoy.net>
Sat, 3 Dec 2022 06:33:52 +0000 (14:33 +0800)
13 files changed:
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c
INSTALL/grub/grub.cfg
INSTALL/ventoy_pack.sh
Plugson/pack.sh
Plugson/src/Core/ventoy_json.c
Plugson/src/Web/ventoy_http.c
Plugson/src/Web/ventoy_http.h
Plugson/vs/VentoyPlugson/Release/VentoyPlugson.exe
Plugson/vs/VentoyPlugson/VentoyPlugson.sln
Plugson/vs/VentoyPlugson/VentoyPlugson/VentoyPlugson.vcxproj
Plugson/vs/VentoyPlugson/VentoyPlugson/VentoyPlugson.vcxproj.user
Plugson/vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe [new file with mode: 0644]
Plugson/www/plugson_control.html

index abecbb9e10e1e257fe87bc7f36e96817ecd46dd8..f3e3bc2245c7e36cb6e7568d55a9f906e0e5cc4c 100644 (file)
@@ -3549,7 +3549,11 @@ grub_err_t ventoy_cmd_cur_menu_lang(grub_extcmd_context_t ctxt, int argc, char *
 {
     (void)ctxt;
     (void)argc;
-    (void)args;
+
+    if (argc > 0)
+    {
+        grub_env_set(args[0], g_cur_menu_language);
+    }
 
     grub_printf("%s\n", g_cur_menu_language);
     grub_printf("%s\n", g_ventoy_hotkey_tip);
index 64b4fcdcf322556becddd87fc7ebeaececb4a183..f8ac91d886a7d86589a177de771602f6ed7d9774 100644 (file)
@@ -103,8 +103,9 @@ function ventoy_show_help {
         fi
 
         loopback vt_help_tarfs mem:${vtoy_help_txt_mem_addr}:size:${vtoy_help_txt_mem_size}
-        if [ -f "(vt_help_tarfs)/help/${VTOY_HELP_TXT_LANGUAGE}.txt" ]; then
-            cat "(vt_help_tarfs)/help/${VTOY_HELP_TXT_LANGUAGE}.txt"
+        vt_cur_menu_lang vtCurLang
+        if [ -f "(vt_help_tarfs)/help/${vtCurLang}.txt" ]; then
+            cat "(vt_help_tarfs)/help/${vtCurLang}.txt"
         else
             cat "(vt_help_tarfs)/help/en_US.txt"
         fi        
index a7d3062e56e316255372a306f6888dd07fd5e09c..bcb10615bf345ab88b50b253fce3f10a4a68e6dd 100644 (file)
@@ -221,6 +221,7 @@ cp $OPT VentoyVlnk.exe $tmpdir/
 cp $OPT FOR_X64_ARM.txt $tmpdir/
 mkdir -p $tmpdir/altexe
 cp $OPT Ventoy2Disk_*.exe $tmpdir/altexe/
+cp $OPT VentoyPlugson_*.exe $tmpdir/altexe/
 
 
 
index 52bc9e5df4635a814a0f7ee0ff392e525d0bb156..340a79fa72f03bc6cd382f30303fd08f06c1fe63 100644 (file)
@@ -13,6 +13,11 @@ if [ ! -f ./vs/VentoyPlugson/Release/VentoyPlugson.exe ]; then
     exit 1
 fi
 
+if [ ! -f ./vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe ]; then
+    echo "NO VentoyPlugson_X64.exe found"
+    exit 1
+fi
+
 if [ -f ./www.tar.xz ]; then
     rm -f ./www.tar.xz
 fi
@@ -33,6 +38,10 @@ xz --check=crc32 www.tar
 rm -f ../INSTALL/VentoyPlugson.exe
 cp -a ./vs/VentoyPlugson/Release/VentoyPlugson.exe ../INSTALL/VentoyPlugson.exe
 
+rm -f ../INSTALL/VentoyPlugson_X64.exe
+cp -a ./vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe ../INSTALL/VentoyPlugson_X64.exe
+
+
 rm -f ../INSTALL/tool/plugson.tar.xz
 mv ./www.tar.xz ../INSTALL/tool/plugson.tar.xz
 
index 2403e652cb2214e3bbcb54a9dd8768be1456d58e..346a9d9ddb14bdf3e8f8825d8346fc23e1780b79 100644 (file)
@@ -425,7 +425,7 @@ int vtoy_json_parse(VTOY_JSON *pstJson, const char *szJsonData)
     char *pcNewBuf = NULL;\r
     const char *pcEnd = NULL;\r
 \r
-    uiMemSize = strlen(szJsonData) + 1;\r
+    uiMemSize = (uint32_t)strlen(szJsonData) + 1;\r
     pcNewBuf = (char *)malloc(uiMemSize);\r
     if (NULL == pcNewBuf)\r
     {\r
index 900045ebf618f0d283f77e334627151fdecddb38..6de2159a0a4f932e6a4ac9db03b350f22bae554e 100644 (file)
@@ -71,7 +71,6 @@ static const char *g_plugin_name[plugin_type_max] =
     "auto_memdisk", "dud"
 };
 
-static char g_ventoy_help_lang[MAX_LANGUAGE][8];
 static char g_ventoy_menu_lang[MAX_LANGUAGE][8];
 
 static char g_pub_path[2 * MAX_PATH];
@@ -522,7 +521,6 @@ void ventoy_data_default_control(data_control *data)
     data->secondary_menu_timeout = 0;
     
     strlcpy(data->default_kbd_layout, "QWERTY_USA");
-    strlcpy(data->help_text_language, "en_US");
     strlcpy(data->menu_language, "en_US");
 }
 
@@ -553,7 +551,6 @@ int ventoy_data_cmp_control(data_control *data1, data_control *data2)
     if (strcmp(data1->default_search_root, data2->default_search_root) ||
         strcmp(data1->default_image, data2->default_image) ||
         strcmp(data1->default_kbd_layout, data2->default_kbd_layout) ||
-        strcmp(data1->help_text_language, data2->help_text_language) ||
         strcmp(data1->menu_language, data2->menu_language))
     {
         return 1;
@@ -597,7 +594,6 @@ int ventoy_data_save_control(data_control *data, const char *title, char *buf, i
     VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_SECONDARY_TIMEOUT",  secondary_menu_timeout);
 
     VTOY_JSON_FMT_CTRL_STRN(L2, "VTOY_DEFAULT_KBD_LAYOUT", default_kbd_layout);        
-    VTOY_JSON_FMT_CTRL_STRN(L2, "VTOY_HELP_TXT_LANGUAGE", help_text_language);  
     VTOY_JSON_FMT_CTRL_STRN(L2, "VTOY_MENU_LANGUAGE", menu_language);  
 
     if (strcmp(def->default_search_root, data->default_search_root))
@@ -645,7 +641,6 @@ int ventoy_data_json_control(data_control *ctrl, char *buf, int buflen)
     VTOY_JSON_FMT_SINT("menu_timeout",  ctrl->menu_timeout);
     VTOY_JSON_FMT_SINT("secondary_menu_timeout",  ctrl->secondary_menu_timeout);
     VTOY_JSON_FMT_STRN("default_kbd_layout",  ctrl->default_kbd_layout);
-    VTOY_JSON_FMT_STRN("help_text_language",  ctrl->help_text_language);
     VTOY_JSON_FMT_STRN("menu_language",  ctrl->menu_language);
 
     valid = 0;
@@ -665,15 +660,6 @@ int ventoy_data_json_control(data_control *ctrl, char *buf, int buflen)
     VTOY_JSON_FMT_STRN("default_image", ctrl->default_image);
     VTOY_JSON_FMT_SINT("default_image_valid", valid);
 
-    VTOY_JSON_FMT_KEY("help_list");
-    VTOY_JSON_FMT_ARY_BEGIN();
-
-    for (i = 0; g_ventoy_help_lang[i][0]; i++)
-    {
-        VTOY_JSON_FMT_ITEM(g_ventoy_help_lang[i]);        
-    }
-    VTOY_JSON_FMT_ARY_ENDEX();
-
     VTOY_JSON_FMT_KEY("menu_list");
     VTOY_JSON_FMT_ARY_BEGIN();
 
@@ -725,7 +711,6 @@ static int ventoy_api_save_control(struct mg_connection *conn, VTOY_JSON *json)
 
     VTOY_JSON_STR("default_image", ctrl->default_image);
     VTOY_JSON_STR("default_search_root", ctrl->default_search_root);
-    VTOY_JSON_STR("help_text_language", ctrl->help_text_language);
     VTOY_JSON_STR("menu_language", ctrl->menu_language);
     VTOY_JSON_STR("default_kbd_layout", ctrl->default_kbd_layout);
     
@@ -3706,7 +3691,7 @@ static int ventoy_api_preview_json(struct mg_connection *conn, VTOY_JSON *json)
         goto json;
     }
 
-    utf16enclen = utf8_to_utf16((unsigned char *)JSON_SAVE_BUFFER, len, utf16buf, len + 2);
+    utf16enclen = (int)utf8_to_utf16((unsigned char *)JSON_SAVE_BUFFER, len, utf16buf, len + 2);
 
     encodebuf = (char *)malloc(utf16enclen * 4 + 16);
     if (!encodebuf)
@@ -4088,17 +4073,6 @@ static int ventoy_parse_control(VTOY_JSON *json, void *p)
                     }
                 }
             }
-            else if (strcmp(child->pcName, "VTOY_HELP_TXT_LANGUAGE") == 0)
-            {
-                for (i = 0; g_ventoy_help_lang[i][0]; i++)
-                {
-                    if (strcmp(child->unData.pcStrVal, g_ventoy_help_lang[i]) == 0)
-                    {
-                        strlcpy(data->help_text_language, child->unData.pcStrVal);
-                        break;
-                    }
-                }
-            }
             else if (strcmp(child->pcName, "VTOY_MENU_LANGUAGE") == 0)
             {
                 for (i = 0; g_ventoy_menu_lang[i][0]; i++)
@@ -5341,19 +5315,6 @@ int ventoy_http_init(void)
     char *Buffer = NULL;
     int BufLen = 0;
 
-    ventoy_read_file_to_buf("www/helplist", 4, (void **)&Buffer, &BufLen);
-    if (Buffer)
-    {
-        for (i = 0; i < BufLen / 5; i++)
-        {
-            memcpy(g_ventoy_help_lang[i], Buffer + i * 5, 5);
-            g_ventoy_help_lang[i][5] = 0;
-        }
-        free(Buffer);
-    }
-
-    Buffer = NULL;
-    BufLen = 0;
     ventoy_read_file_to_buf("www/menulist", 4, (void **)&Buffer, &BufLen);
     if (Buffer)
     {
@@ -5366,15 +5327,6 @@ int ventoy_http_init(void)
     }
 #else
     ventoy_file *file;
-    file = ventoy_tar_find_file("www/helplist");
-    if (file)
-    {
-        for (i = 0; i < file->size / 5; i++)
-        {
-            memcpy(g_ventoy_help_lang[i], (char *)(file->addr) + i * 5, 5);
-            g_ventoy_help_lang[i][5] = 0;
-        }
-    }
     
     file = ventoy_tar_find_file("www/menulist");
     if (file)
index 27b7508f6df965cab96f78880df9faea7624a6a4..18e4198aec06f683bc8ce4238aa307c71bceb752 100644 (file)
@@ -83,7 +83,6 @@ typedef struct data_control
     char default_search_root[MAX_PATH];
     char default_image[MAX_PATH];
     char default_kbd_layout[32];
-    char help_text_language[32];
     char menu_language[32];
 }data_control;
 
@@ -389,7 +388,7 @@ else\
 #define ventoy_parse_json(name) \
 {\
     int __loop;\
-    int __len = strlen(#name);\
+    int __len = (int)strlen(#name);\
     if (strncmp(#name, node->pcName, __len) == 0)\
     {\
         for (__loop = 0; __loop < bios_max; __loop++)\
index 4267b012e45b7e4f3542799c629ad5f2e16b105f..d0f55609d342a66b4473ef27afb60fc6861fbbd1 100644 (file)
Binary files a/Plugson/vs/VentoyPlugson/Release/VentoyPlugson.exe and b/Plugson/vs/VentoyPlugson/Release/VentoyPlugson.exe differ
index f4e7ca1a175c110a5870f600c2bec2f643cdecb3..6888b6eaf1e5c94f8909306ed888bf86054f29fc 100644 (file)
@@ -1,22 +1,31 @@
 \r
 Microsoft Visual Studio Solution File, Format Version 12.00\r
-# Visual Studio 2013\r
-VisualStudioVersion = 12.0.21005.1\r
+# Visual Studio Version 16\r
+VisualStudioVersion = 16.0.31729.503\r
 MinimumVisualStudioVersion = 10.0.40219.1\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VentoyPlugson", "VentoyPlugson\VentoyPlugson.vcxproj", "{321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}"\r
 EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
+               Debug|x64 = Debug|x64\r
                Release|Win32 = Release|Win32\r
+               Release|x64 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
                {321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}.Debug|Win32.Build.0 = Debug|Win32\r
+               {321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}.Debug|x64.ActiveCfg = Debug|x64\r
+               {321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}.Debug|x64.Build.0 = Debug|x64\r
                {321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}.Release|Win32.ActiveCfg = Release|Win32\r
                {321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}.Release|Win32.Build.0 = Release|Win32\r
+               {321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}.Release|x64.ActiveCfg = Release|x64\r
+               {321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}.Release|x64.Build.0 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
        EndGlobalSection\r
+       GlobalSection(ExtensibilityGlobals) = postSolution\r
+               SolutionGuid = {D15C2D76-198B-4FE5-8232-D57D911FB022}\r
+       EndGlobalSection\r
 EndGlobal\r
index 2e2845bad530fdd540b25c1c058c2cfa30cc6782..c1a19798d99c527b98b1100fafa133711881ab12 100644 (file)
@@ -5,10 +5,18 @@
       <Configuration>Debug</Configuration>\r
       <Platform>Win32</Platform>\r
     </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
     <ProjectConfiguration Include="Release|Win32">\r
       <Configuration>Release</Configuration>\r
       <Platform>Win32</Platform>\r
     </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
   </ItemGroup>\r
   <PropertyGroup Label="Globals">\r
     <ProjectGuid>{321D6EE2-2AB3-4103-9F05-EC4EC67A75E1}</ProjectGuid>\r
     <PlatformToolset>v142</PlatformToolset>\r
     <CharacterSet>MultiByte</CharacterSet>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <PlatformToolset>v142</PlatformToolset>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
     <ConfigurationType>Application</ConfigurationType>\r
     <UseDebugLibraries>false</UseDebugLibraries>\r
     <WholeProgramOptimization>true</WholeProgramOptimization>\r
     <CharacterSet>MultiByte</CharacterSet>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <PlatformToolset>v142</PlatformToolset>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>MultiByte</CharacterSet>\r
+  </PropertyGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
   <ImportGroup Label="ExtensionSettings">\r
   </ImportGroup>\r
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <LinkIncremental>true</LinkIncremental>\r
     <IncludePath>..\..\..\src\Core;..\..\..\src\Web;..\..\..\src\Include;..\..\..\src\Lib\xz-embedded\linux\include;..\..\..\src\Lib\xz-embedded\linux\include\linux;..\..\..\src\Lib\xz-embedded\userspace;..\..\..\src\Lib\fat_io_lib;..\..\..\src\Lib\libhttp\include;$(ProjectDir);$(IncludePath)</IncludePath>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <LinkIncremental>true</LinkIncremental>\r
+    <IncludePath>..\..\..\src\Core;..\..\..\src\Web;..\..\..\src\Include;..\..\..\src\Lib\xz-embedded\linux\include;..\..\..\src\Lib\xz-embedded\linux\include\linux;..\..\..\src\Lib\xz-embedded\userspace;..\..\..\src\Lib\fat_io_lib;..\..\..\src\Lib\libhttp\include;$(ProjectDir);$(IncludePath)</IncludePath>\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <LinkIncremental>false</LinkIncremental>\r
     <IncludePath>..\..\..\src\Core;..\..\..\src\Web;..\..\..\src\Include;..\..\..\src\Lib\xz-embedded\linux\include;..\..\..\src\Lib\xz-embedded\linux\include\linux;..\..\..\src\Lib\xz-embedded\userspace;..\..\..\src\Lib\fat_io_lib;..\..\..\src\Lib\libhttp\include;$(ProjectDir);$(IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <LinkIncremental>false</LinkIncremental>\r
+    <IncludePath>..\..\..\src\Core;..\..\..\src\Web;..\..\..\src\Include;..\..\..\src\Lib\xz-embedded\linux\include;..\..\..\src\Lib\xz-embedded\linux\include\linux;..\..\..\src\Lib\xz-embedded\userspace;..\..\..\src\Lib\fat_io_lib;..\..\..\src\Lib\libhttp\include;$(ProjectDir);$(IncludePath);$(VC_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>\r
+    <TargetName>VentoyPlugson_X64</TargetName>\r
+  </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
       <PrecompiledHeader>\r
       <AdditionalManifestFiles>$(ProjectDir)\Res\Plugson32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>\r
     </Manifest>\r
   </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <ClCompile>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <Optimization>Disabled</Optimization>\r
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;INIT;STATIC=static;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <SDLCheck>true</SDLCheck>\r
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Windows</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>\r
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>\r
+    </Link>\r
+    <Manifest>\r
+      <AdditionalManifestFiles>$(ProjectDir)\Res\Plugson32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>\r
+    </Manifest>\r
+  </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <ClCompile>\r
       <WarningLevel>Level3</WarningLevel>\r
       <AdditionalManifestFiles>$(ProjectDir)\Res\Plugson32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>\r
     </Manifest>\r
   </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <ClCompile>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <Optimization>MaxSpeed</Optimization>\r
+      <FunctionLevelLinking>true</FunctionLevelLinking>\r
+      <IntrinsicFunctions>true</IntrinsicFunctions>\r
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;INIT;STATIC=static;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <SDLCheck>true</SDLCheck>\r
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Windows</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+      <OptimizeReferences>true</OptimizeReferences>\r
+      <UACExecutionLevel>RequireAdministrator</UACExecutionLevel>\r
+      <DelayLoadDLLs>gdi32.dll;winspool.dll;comdlg32.dll;advapi32.dll;shell32.dll;ole32.dll;oleaut32.dll;uuid.dll;odbc32.dll;odbccp32.dll</DelayLoadDLLs>\r
+    </Link>\r
+    <Manifest>\r
+      <AdditionalManifestFiles>$(ProjectDir)\Res\Plugson32.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles>\r
+    </Manifest>\r
+  </ItemDefinitionGroup>\r
   <ItemGroup>\r
     <ClCompile Include="..\..\..\src\Core\ventoy_crc32.c" />\r
     <ClCompile Include="..\..\..\src\Core\ventoy_disk.c" />\r
index de0645674bfd225cca9f04692c7cea8066960e63..c3aae6208765e8b2b8507e827617b0a99bbd505c 100644 (file)
@@ -6,8 +6,17 @@
     <LocalDebuggerCommandArguments>\r
     </LocalDebuggerCommandArguments>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <LocalDebuggerWorkingDirectory>E:\</LocalDebuggerWorkingDirectory>\r
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>\r
+    <LocalDebuggerCommandArguments />\r
+  </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <LocalDebuggerWorkingDirectory>E:\</LocalDebuggerWorkingDirectory>\r
     <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>\r
   </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <LocalDebuggerWorkingDirectory>E:\</LocalDebuggerWorkingDirectory>\r
+    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>\r
+  </PropertyGroup>\r
 </Project>
\ No newline at end of file
diff --git a/Plugson/vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe b/Plugson/vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe
new file mode 100644 (file)
index 0000000..548287f
Binary files /dev/null and b/Plugson/vs/VentoyPlugson/x64/Release/VentoyPlugson_X64.exe differ
index 7e1e624d9cfe9583d5b11c55afac953d3fd89699..1e9a258ca0f6e07df8f5d13a48f1b10909f16113 100644 (file)
         </div><!-- /.box-body -->\r
       </div><!-- /.box -->\r
 \r
-\r
-        <div class="box box-primary box-solid">\r
-            <div class="box-header with-border">\r
-              <h3 class="box-title" style="font-size: 14px;font-weight: bold;">VTOY_HELP_TXT_LANGUAGE\r
-                <span id="id_span_desc_cn"> —— 帮助信息语言</span></h3>\r
-              <div class="box-tools pull-right">\r
-                <button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>\r
-              </div><!-- /.box-tools -->\r
-            </div><!-- /.box-header -->\r
-            <div class="box-body no-padding">\r
-                <table class="table table-bordered  no-padding">\r
-                    <tr style="font-weight:bold;">\r
-                      <td class="td_ctrl_col" id="td_title_setting">选项设置</td>\r
-                      <td>\r
-                        <select id="id_ctrl_sel_help_lang" name="name_ctrl_sel_help_lang" class="form-control">\r
-                            \r
-                        </select>\r
-                      </td>\r
-                    </tr>\r
-                    <tr id="tr_title_desc_cn">\r
-                      <td class="td_ctrl_col">选项说明</td>\r
-                      <td>\r
-                        快捷键 <code>h</code> 显示的帮助信息的语言版本。默认是 "en_US"。 \r
-                        具体请参考 <a target="_blank" href='https://www.ventoy.net/cn/plugin_control.html#vtoy_help_language'>Ventoy 帮助信息</a>\r
-                      </td>\r
-                    </tr>\r
-                    <tr id="tr_title_desc_en">\r
-                      <td class="td_ctrl_col">Option Description</td>\r
-                      <td>\r
-                        The language of the help text when press <code>h</code>. Default is "en_US", \r
-                        refer <a target="_blank" href='https://www.ventoy.net/en/plugin_control.html#vtoy_help_language'>Ventoy Help Text</a> for details.\r
-                      </td>\r
-                    </tr>\r
-                </table>\r
-            </div><!-- /.box-body -->\r
-        </div><!-- /.box -->\r
-\r
         \r
 \r
     </div>\r
     data.filter_vhd = parseInt($('input:radio[name=id_ctrl_radio_filt_vhd]:checked').val());\r
     data.filter_vtoy = parseInt($('input:radio[name=id_ctrl_radio_filt_vtoy]:checked').val());\r
 \r
-    data.help_text_language = $('select[id=id_ctrl_sel_help_lang').val();\r
     data.menu_language = $('select[id=id_ctrl_sel_menu_lang').val();\r
   }\r
 \r
     //VTOY_FILE_FLT_VTOY\r
     $('input:radio[name=id_ctrl_radio_filt_vtoy]')[data.filter_vtoy].checked = true;\r
 \r
-    //VTOY_HELP_TXT_LANGUAGE\r
-    if ($("select[id=id_ctrl_sel_help_lang")[0].options.length === 0)\r
-    {\r
-      for (var i = 0; i < data.help_list.length; i++) {\r
-        var hlang = data.help_list[i];\r
-        var opt = '<option title="'+hlang+'">'+hlang+'</option>';\r
-        $('select[id=id_ctrl_sel_help_lang').append(opt);\r
-      }\r
-    }\r
-    $('select[id=id_ctrl_sel_help_lang').val(data.help_text_language);\r
-    \r
     //VTOY_MENU_LANGUAGE\r
     if ($("select[id=id_ctrl_sel_menu_lang")[0].options.length === 0)\r
     {\r
       filter_img: data.filter_img,\r
       filter_vhd: data.filter_vhd,\r
       filter_vtoy: data.filter_vtoy,\r
-      help_text_language: data.help_text_language,\r
       menu_language: data.menu_language\r
     }, function(e) {\r
       Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);\r
   });\r
   $('select[id=id_ctrl_sel_max_depth]').change(VtoySaveCurrentPage);\r
   $('select[id=id_ctrl_sel_kbd]').change(VtoySaveCurrentPage);\r
-  $('select[id=id_ctrl_sel_help_lang]').change(VtoySaveCurrentPage);\r
   $('select[id=id_ctrl_sel_menu_lang]').change(VtoySaveCurrentPage);\r
   $('input[id=id_ctrl_text_timeout]').change(function() {\r
     var value = $('input:text[id=id_ctrl_text_timeout]').val();\r