Skip to content

Commit c0a683e

Browse files
committed
version 1.0.3
1 parent 4975764 commit c0a683e

12 files changed

Lines changed: 376 additions & 8 deletions

File tree

HelpUploadFiles.sln

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WorkDll", "WorkDll\WorkDll.
1212
EndProject
1313
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IgnoreInfoFormat", "IgnoreInfoFormat\IgnoreInfoFormat.vcxitems", "{E904B7EC-60EF-4BCA-AEF5-2F7983E8FB9D}"
1414
EndProject
15+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Startup", "Startup\Startup.vcxproj", "{4E1E201F-518E-4A18-90F1-F1AFA01015A5}"
16+
EndProject
1517
Global
1618
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1719
Debug|x64 = Debug|x64
@@ -36,6 +38,14 @@ Global
3638
{9366E397-8E3A-4B62-8520-8412F8AF6182}.Release|x64.Build.0 = Release|x64
3739
{9366E397-8E3A-4B62-8520-8412F8AF6182}.Release|x86.ActiveCfg = Release|Win32
3840
{9366E397-8E3A-4B62-8520-8412F8AF6182}.Release|x86.Build.0 = Release|Win32
41+
{4E1E201F-518E-4A18-90F1-F1AFA01015A5}.Debug|x64.ActiveCfg = Debug|x64
42+
{4E1E201F-518E-4A18-90F1-F1AFA01015A5}.Debug|x64.Build.0 = Debug|x64
43+
{4E1E201F-518E-4A18-90F1-F1AFA01015A5}.Debug|x86.ActiveCfg = Debug|Win32
44+
{4E1E201F-518E-4A18-90F1-F1AFA01015A5}.Debug|x86.Build.0 = Debug|Win32
45+
{4E1E201F-518E-4A18-90F1-F1AFA01015A5}.Release|x64.ActiveCfg = Release|x64
46+
{4E1E201F-518E-4A18-90F1-F1AFA01015A5}.Release|x64.Build.0 = Release|x64
47+
{4E1E201F-518E-4A18-90F1-F1AFA01015A5}.Release|x86.ActiveCfg = Release|Win32
48+
{4E1E201F-518E-4A18-90F1-F1AFA01015A5}.Release|x86.Build.0 = Release|Win32
3949
EndGlobalSection
4050
GlobalSection(SolutionProperties) = preSolution
4151
HideSolutionNode = FALSE

HelpUploadFiles/HelpUploadFiles.rc

0 Bytes
Binary file not shown.

README.md

Lines changed: 48 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
## 🍺简介
44

5-
***HelpUploadFiles (星空上传助手)*** 是一款支持 **辅助上传** 的工具。我们知道,*git* 提供了 **.gitignore** 文件用于根据规则忽略某些文件的上传,但是这个功能仅限于 *git*,还有很多场景涉及**文件的上传**,比如我们可能需要将某些文件上传到网盘,但是大部分网盘并不具备 ***根据规则忽略指定文件*** 的功能,这十分不方便。另外,还存在着许许多多的上传文件的场景,此时,***HelpUploadFiles*** 油然而生!
5+
***HelpUploadFiles (星空上传助手)*** 是一款 **辅助上传** 工具。我们知道,*git* 提供了 **.gitignore** 文件用于根据规则忽略某些文件的上传,但是这个功能仅限于 *git*,还有很多场景涉及**文件的上传**,比如我们可能需要将某些文件上传到网盘,但是大部分网盘并不具备 ***根据规则忽略指定文件*** 的功能,这十分不方便。另外,还存在着许许多多的上传文件的场景,此时,***HelpUploadFiles*** 油然而生!
66

7-
由于对于单个文件,不需要特别的规则进行忽略上传,故 ***HelpUploadFiles*** 主要是针对 ***文件夹*** 的上传常见
7+
由于对于单个文件,不需要特别的规则进行忽略上传,故 ***HelpUploadFiles*** 主要是针对 ***文件夹*** 的上传场景
88

99
## 🍺文件上传概念的推广
1010

11-
***HelpUploadFiles*** 涉及的文件上传并不仅仅局限于将本机文件上传到网盘这种场景,在 ***HelpUploadFiles*** 中,凡是需要 **将某个文件夹发送到某一个接口** 的操作都可推广为文件上传
11+
***HelpUploadFiles*** 涉及的文件上传并不仅仅局限于将本机文件上传到网盘这种场景,在 ***HelpUploadFiles*** 中,凡是需要 **将某个文件夹发送到某一个接口** 的操作均可推广为文件上传
1212

1313
以下场景均可视文件上传概念的推广:
1414

15-
1. 将本机文件夹上传到**网盘**
15+
1. 将本机文件夹上传到**网盘**
1616
2. 将本机文件夹发送到**另一台设备**(如局域网内设备、服务器对象存储服务等)。
1717
3. 将本机文件夹发送到**压缩软件**等接口。
1818

@@ -21,7 +21,7 @@
2121
以下场景均已验证通过:
2222

2323
1. **Chromium 浏览器** 涉及的文件夹上传
24-
2. **Edge 浏览器 **涉及的文件夹上传
24+
2. **Edge 浏览器** 涉及的文件夹上传
2525
3. 百度网盘客户端
2626
4. 腾讯微云客户端
2727
5. 阿里网盘
@@ -38,12 +38,12 @@
3838
16. LocalSend
3939
17. Send Anywhere 客户端
4040
18. WinSCP
41-
19. 7z、Bandizip、360等压缩软件
41+
19. 7z、Bandizip、360压缩等压缩软件
4242

4343
## 📍使用注意事项
4444

4545
1. ***HelpUploadFiles*** 分为 ***32位******64位*** 两个版本,需要根据不同的上传接口选择不同的版本,如目前百度网盘客户端是32位的,则需要使用32位版本的 ***HelpUploadFiles***;而64位系统的Edge浏览器是64位程序,则需要使用64位版本的 ***HelpUploadFiles***
46-
2. 目前版本(v1.0.2)仅支持同时拦截一个进程的文件上传行为,值得注意的是 ***32位 与 64位版本 加起来一共能同时拦截一个进程***。且 ***添加/移除*** 忽略列表的操作**仅对当前拦截的进程有效****若切换进程,即使重新注入,也需要重新添加忽略列表(移除后重新添加),否则将无效。**这是由于目前采用的进程通信方案导致的。
46+
2. 目前版本(v1.0.2)仅支持同时拦截一个进程的文件上传行为,值得注意的是 ***32位 与 64位版本 加起来一共能同时拦截一个进程***。且 ***添加/移除*** 忽略列表的操作 **仅对当前拦截的进程有效若切换进程,即使重新注入,也需要重新添加忽略列表(移除后重新添加),否则将无效。** 这是由于目前采用的进程通信方案导致的。
4747
3. 对于下方输入框手动输入的忽略规则,将采用 **C++ 正则表达式规则**
4848
4. 对于拖拽上传的文件,将自动进行转义使其符合 **C++正则表达式规则**
4949

@@ -136,6 +136,46 @@
136136
| LocalSend | 主窗口 |
137137
| 7z、Bandizip 等64位压缩工具 | 压缩菜单弹出窗口 |
138138

139-
## 🟡已发现的不完全适应情况
139+
## 🍗操作视频演示(以7z压缩软件为例)
140+
141+
<img src="https://github.com/KrxkGit/HelpUploadFiles/blob/main/documents/imgs/8.gif" alt="演示视频" style="zoom: 80%;" />
142+
143+
## 🌭C++正则表达式附录
144+
145+
正则表达式是一种用于描述字符串模式的工具,它可以帮助您在文本中进行搜索、匹配、替换等操作。以下是一些常用的正则表达式规则和符号:
146+
147+
1. 字符类别:
148+
- `\d`:匹配任意一个数字字符,相当于 `[0-9]`
149+
- `\D`:匹配任意一个非数字字符,相当于 `[^0-9]`
150+
- `\w`:匹配任意一个字母、数字或下划线字符,相当于 `[a-zA-Z0-9_]`
151+
- `\W`:匹配任意一个非字母、数字或下划线字符,相当于 `[^a-zA-Z0-9_]`
152+
- `\s`:匹配任意一个空白字符,包括空格、制表符、换行符等。
153+
- `\S`:匹配任意一个非空白字符。
154+
155+
2. 重复次数:
156+
- `*`:匹配前面的字符零次或多次。
157+
- `+`:匹配前面的字符一次或多次。
158+
- `?`:匹配前面的字符零次或一次。
159+
- `{n}`:匹配前面的字符恰好 n 次。
160+
- `{n,}`:匹配前面的字符至少 n 次。
161+
- `{n,m}`:匹配前面的字符至少 n 次,最多 m 次。
162+
163+
3. 边界匹配:
164+
- `^`:匹配字符串的开头。
165+
- `$`:匹配字符串的结尾。
166+
- `\b`:匹配单词边界。
167+
168+
4. 分组和引用:
169+
- `()`:将其中的字符视为一个整体,可以用于分组操作。
170+
- `\1`, `\2`, ...:引用分组中的匹配结果。
171+
172+
5. 特殊字符转义:
173+
- `\`:用于转义特殊字符,例如 `\.` 表示匹配点字符 `.`
174+
175+
6. 其他常用符号:
176+
- `|`:表示或操作,匹配两者之一。
177+
- `.`:匹配任意一个字符,除了换行符。
178+
179+
## 🟡已发现的不完全适用情况
140180

141181
- 比特球网盘 未完全兼容,存在目录创建失败问题。

Startup/Startup.cpp

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// Startup.cpp : 定义应用程序的入口点。
2+
//
3+
4+
#include "framework.h"
5+
#include "Startup.h"
6+
7+
HINSTANCE hInst;
8+
LPCTSTR programName = _T("HelpUploadFiles.exe");
9+
10+
int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
11+
_In_opt_ HINSTANCE hPrevInstance,
12+
_In_ LPWSTR lpCmdLine,
13+
_In_ int nCmdShow)
14+
{
15+
UNREFERENCED_PARAMETER(hPrevInstance);
16+
UNREFERENCED_PARAMETER(lpCmdLine);
17+
18+
// TODO: 在此处放置代码。
19+
hInst = hInstance;
20+
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), NULL, MainDlg);
21+
22+
}
23+
24+
VOID OnDlgInit(HWND hDlg)
25+
{
26+
27+
HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_STARTUP));;
28+
SendMessage(hDlg, WM_SETICON, FALSE, (LPARAM)hIcon);
29+
}
30+
31+
VOID OnDlgCommand(HWND hDlg, WPARAM wParam)
32+
{
33+
TCHAR szWorkDirectory[MAX_PATH];
34+
GetCurrentDirectory(_countof(szWorkDirectory), szWorkDirectory);
35+
36+
switch (LOWORD(wParam))
37+
{
38+
case IDC_BUTTON1: // 32位
39+
std::swprintf(szWorkDirectory, _countof(szWorkDirectory), _T("%s\\x86"), szWorkDirectory);
40+
break;
41+
case IDC_BUTTON2: // 64位
42+
std::swprintf(szWorkDirectory, _countof(szWorkDirectory), _T("%s\\x64"), szWorkDirectory);
43+
break;
44+
case IDCANCEL:
45+
EndDialog(hDlg, LOWORD(wParam));
46+
return;
47+
}
48+
ShellExecute(NULL, _T("Open"), programName, NULL, szWorkDirectory, SW_SHOWNORMAL);
49+
EndDialog(hDlg, LOWORD(wParam));
50+
}
51+
52+
INT_PTR CALLBACK MainDlg(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
53+
{
54+
UNREFERENCED_PARAMETER(lParam);
55+
switch (message)
56+
{
57+
case WM_INITDIALOG:
58+
OnDlgInit(hDlg);
59+
break;
60+
61+
case WM_COMMAND:
62+
OnDlgCommand(hDlg, wParam);
63+
break;
64+
}
65+
return (INT_PTR)FALSE;
66+
}

Startup/Startup.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
#include "resource.h"
4+
5+
INT_PTR CALLBACK MainDlg(HWND, UINT, WPARAM, LPARAM);
6+
VOID OnDlgCommand(HWND hDlg, WPARAM wParam);
7+
VOID OnDlgCommand(HWND hDlg, WPARAM wParam);

Startup/Startup.rc

5.75 KB
Binary file not shown.

Startup/Startup.vcxproj

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|Win32">
5+
<Configuration>Debug</Configuration>
6+
<Platform>Win32</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Release|Win32">
9+
<Configuration>Release</Configuration>
10+
<Platform>Win32</Platform>
11+
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Debug|x64">
13+
<Configuration>Debug</Configuration>
14+
<Platform>x64</Platform>
15+
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Release|x64">
17+
<Configuration>Release</Configuration>
18+
<Platform>x64</Platform>
19+
</ProjectConfiguration>
20+
</ItemGroup>
21+
<PropertyGroup Label="Globals">
22+
<VCProjectVersion>17.0</VCProjectVersion>
23+
<Keyword>Win32Proj</Keyword>
24+
<ProjectGuid>{4e1e201f-518e-4a18-90f1-f1afa01015a5}</ProjectGuid>
25+
<RootNamespace>Startup</RootNamespace>
26+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
27+
</PropertyGroup>
28+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
29+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
30+
<ConfigurationType>Application</ConfigurationType>
31+
<UseDebugLibraries>true</UseDebugLibraries>
32+
<PlatformToolset>v143</PlatformToolset>
33+
<CharacterSet>Unicode</CharacterSet>
34+
</PropertyGroup>
35+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
36+
<ConfigurationType>Application</ConfigurationType>
37+
<UseDebugLibraries>false</UseDebugLibraries>
38+
<PlatformToolset>v143</PlatformToolset>
39+
<WholeProgramOptimization>true</WholeProgramOptimization>
40+
<CharacterSet>Unicode</CharacterSet>
41+
</PropertyGroup>
42+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
43+
<ConfigurationType>Application</ConfigurationType>
44+
<UseDebugLibraries>true</UseDebugLibraries>
45+
<PlatformToolset>v143</PlatformToolset>
46+
<CharacterSet>Unicode</CharacterSet>
47+
</PropertyGroup>
48+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
49+
<ConfigurationType>Application</ConfigurationType>
50+
<UseDebugLibraries>false</UseDebugLibraries>
51+
<PlatformToolset>v143</PlatformToolset>
52+
<WholeProgramOptimization>true</WholeProgramOptimization>
53+
<CharacterSet>Unicode</CharacterSet>
54+
</PropertyGroup>
55+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
56+
<ImportGroup Label="ExtensionSettings">
57+
</ImportGroup>
58+
<ImportGroup Label="Shared">
59+
</ImportGroup>
60+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
61+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
62+
</ImportGroup>
63+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
64+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
65+
</ImportGroup>
66+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
67+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
68+
</ImportGroup>
69+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
70+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
71+
</ImportGroup>
72+
<PropertyGroup Label="UserMacros" />
73+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
74+
<ClCompile>
75+
<WarningLevel>Level3</WarningLevel>
76+
<SDLCheck>true</SDLCheck>
77+
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
78+
<ConformanceMode>true</ConformanceMode>
79+
</ClCompile>
80+
<Link>
81+
<SubSystem>Windows</SubSystem>
82+
<GenerateDebugInformation>true</GenerateDebugInformation>
83+
</Link>
84+
</ItemDefinitionGroup>
85+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
86+
<ClCompile>
87+
<WarningLevel>Level3</WarningLevel>
88+
<FunctionLevelLinking>true</FunctionLevelLinking>
89+
<IntrinsicFunctions>true</IntrinsicFunctions>
90+
<SDLCheck>true</SDLCheck>
91+
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
92+
<ConformanceMode>true</ConformanceMode>
93+
</ClCompile>
94+
<Link>
95+
<SubSystem>Windows</SubSystem>
96+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
97+
<OptimizeReferences>true</OptimizeReferences>
98+
<GenerateDebugInformation>true</GenerateDebugInformation>
99+
</Link>
100+
</ItemDefinitionGroup>
101+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
102+
<ClCompile>
103+
<WarningLevel>Level3</WarningLevel>
104+
<SDLCheck>true</SDLCheck>
105+
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
106+
<ConformanceMode>true</ConformanceMode>
107+
</ClCompile>
108+
<Link>
109+
<SubSystem>Windows</SubSystem>
110+
<GenerateDebugInformation>true</GenerateDebugInformation>
111+
</Link>
112+
</ItemDefinitionGroup>
113+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
114+
<ClCompile>
115+
<WarningLevel>Level3</WarningLevel>
116+
<FunctionLevelLinking>true</FunctionLevelLinking>
117+
<IntrinsicFunctions>true</IntrinsicFunctions>
118+
<SDLCheck>true</SDLCheck>
119+
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
120+
<ConformanceMode>true</ConformanceMode>
121+
</ClCompile>
122+
<Link>
123+
<SubSystem>Windows</SubSystem>
124+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
125+
<OptimizeReferences>true</OptimizeReferences>
126+
<GenerateDebugInformation>true</GenerateDebugInformation>
127+
</Link>
128+
</ItemDefinitionGroup>
129+
<ItemGroup>
130+
<ClInclude Include="framework.h" />
131+
<ClInclude Include="Resource.h" />
132+
<ClInclude Include="Startup.h" />
133+
<ClInclude Include="targetver.h" />
134+
</ItemGroup>
135+
<ItemGroup>
136+
<ClCompile Include="Startup.cpp" />
137+
</ItemGroup>
138+
<ItemGroup>
139+
<ResourceCompile Include="Startup.rc" />
140+
</ItemGroup>
141+
<ItemGroup>
142+
<Image Include="..\HelpUploadFiles\HelpUploadFiles.ico" />
143+
</ItemGroup>
144+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
145+
<ImportGroup Label="ExtensionTargets">
146+
</ImportGroup>
147+
</Project>

Startup/Startup.vcxproj.filters

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup>
4+
<Filter Include="源文件">
5+
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
6+
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
7+
</Filter>
8+
<Filter Include="头文件">
9+
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
10+
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
11+
</Filter>
12+
<Filter Include="资源文件">
13+
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
14+
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
15+
</Filter>
16+
</ItemGroup>
17+
<ItemGroup>
18+
<ClInclude Include="framework.h">
19+
<Filter>头文件</Filter>
20+
</ClInclude>
21+
<ClInclude Include="targetver.h">
22+
<Filter>头文件</Filter>
23+
</ClInclude>
24+
<ClInclude Include="Resource.h">
25+
<Filter>头文件</Filter>
26+
</ClInclude>
27+
<ClInclude Include="Startup.h">
28+
<Filter>头文件</Filter>
29+
</ClInclude>
30+
</ItemGroup>
31+
<ItemGroup>
32+
<ClCompile Include="Startup.cpp">
33+
<Filter>源文件</Filter>
34+
</ClCompile>
35+
</ItemGroup>
36+
<ItemGroup>
37+
<ResourceCompile Include="Startup.rc">
38+
<Filter>资源文件</Filter>
39+
</ResourceCompile>
40+
</ItemGroup>
41+
<ItemGroup>
42+
<Image Include="..\HelpUploadFiles\HelpUploadFiles.ico">
43+
<Filter>资源文件</Filter>
44+
</Image>
45+
</ItemGroup>
46+
</Project>

0 commit comments

Comments
 (0)