Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fba0cd83c3 | ||
|
|
70d657ebd2 | ||
|
|
1bf1da4d08 | ||
|
|
03fb002c97 | ||
|
|
1fe8bed1f6 |
@@ -24,9 +24,10 @@ namespace AppStore
|
|||||||
|
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
this.Size = new Size(200, 120);
|
this.Size = new Size(220, 180);
|
||||||
this.BackColor = Color.White;
|
this.BackColor = Color.White;
|
||||||
this.BorderStyle = BorderStyle.FixedSingle;
|
this.BorderStyle = BorderStyle.FixedSingle;
|
||||||
|
this.Padding = new Padding(5);
|
||||||
|
|
||||||
// 应用图标
|
// 应用图标
|
||||||
iconBox = new PictureBox();
|
iconBox = new PictureBox();
|
||||||
@@ -37,16 +38,18 @@ namespace AppStore
|
|||||||
|
|
||||||
// 应用名称
|
// 应用名称
|
||||||
nameLabel = new Label();
|
nameLabel = new Label();
|
||||||
nameLabel.AutoSize = true;
|
nameLabel.AutoSize = false;
|
||||||
|
nameLabel.Size = new Size(140, 60);
|
||||||
nameLabel.Location = new Point(80, 15);
|
nameLabel.Location = new Point(80, 15);
|
||||||
nameLabel.Font = new Font("Microsoft YaHei", 10, FontStyle.Bold);
|
nameLabel.Font = new Font("Microsoft YaHei", 10, FontStyle.Bold);
|
||||||
|
nameLabel.TextAlign = ContentAlignment.TopLeft;
|
||||||
this.Controls.Add(nameLabel);
|
this.Controls.Add(nameLabel);
|
||||||
|
|
||||||
// 下载按钮
|
// 下载按钮
|
||||||
downloadBtn = new Button();
|
downloadBtn = new Button();
|
||||||
downloadBtn.Text = "下载";
|
downloadBtn.Text = "下载";
|
||||||
downloadBtn.Size = new Size(80, 30);
|
downloadBtn.Size = new Size(80, 30);
|
||||||
downloadBtn.Location = new Point(60, 80);
|
downloadBtn.Location = new Point(70, 120);
|
||||||
downloadBtn.BackColor = Color.FromArgb(0, 120, 215);
|
downloadBtn.BackColor = Color.FromArgb(0, 120, 215);
|
||||||
downloadBtn.ForeColor = Color.White;
|
downloadBtn.ForeColor = Color.White;
|
||||||
downloadBtn.FlatStyle = FlatStyle.Flat;
|
downloadBtn.FlatStyle = FlatStyle.Flat;
|
||||||
|
|||||||
@@ -55,9 +55,13 @@ namespace AppStore
|
|||||||
|
|
||||||
public void StartDownload(string fileName, string url)
|
public void StartDownload(string fileName, string url)
|
||||||
{
|
{
|
||||||
|
// 从URL获取原始文件名用于显示
|
||||||
|
var uri = new Uri(url);
|
||||||
|
var originalFileName = Path.GetFileName(uri.LocalPath);
|
||||||
|
|
||||||
var downloadItem = new DownloadItem
|
var downloadItem = new DownloadItem
|
||||||
{
|
{
|
||||||
FileName = fileName,
|
FileName = originalFileName, // 显示原始文件名
|
||||||
Progress = 0,
|
Progress = 0,
|
||||||
Status = "准备下载"
|
Status = "准备下载"
|
||||||
};
|
};
|
||||||
@@ -87,7 +91,10 @@ namespace AppStore
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 设置线程数为16并添加详细日志
|
// 设置线程数为16并添加详细日志
|
||||||
var arguments = $"--out={fileName} --dir=\"{downloadsDir}\" --split=16 --max-connection-per-server=16 {url}";
|
// 从URL获取原始文件名
|
||||||
|
var uri = new Uri(url);
|
||||||
|
var originalFileName = Path.GetFileName(uri.LocalPath);
|
||||||
|
var arguments = $"--out=\"{originalFileName}\" --dir=\"{downloadsDir}\" --split=16 --max-connection-per-server=16 {url}";
|
||||||
Console.WriteLine($"下载目录: {downloadsDir}");
|
Console.WriteLine($"下载目录: {downloadsDir}");
|
||||||
|
|
||||||
currentProcess = new Process
|
currentProcess = new Process
|
||||||
|
|||||||
122
MainForm.cs
@@ -14,15 +14,16 @@ namespace AppStore
|
|||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
// 窗体基本设置
|
// 窗体基本设置
|
||||||
this.Text = "应用商店";
|
this.Text = "kortapp-z";
|
||||||
this.Size = new Size(800, 600);
|
this.Size = new Size(1430, 1050); // 增加窗体高度
|
||||||
|
this.MinimumSize = new Size(600, 600); // 设置最小尺寸
|
||||||
this.StartPosition = FormStartPosition.CenterScreen;
|
this.StartPosition = FormStartPosition.CenterScreen;
|
||||||
this.Icon = new Icon("img/ico/icon.ico");
|
this.Icon = new Icon("img/ico/icon.ico");
|
||||||
|
|
||||||
// 顶部按钮面板
|
// 顶部按钮面板
|
||||||
Panel buttonPanel = new Panel();
|
Panel buttonPanel = new Panel();
|
||||||
buttonPanel.Dock = DockStyle.Top;
|
buttonPanel.Dock = DockStyle.Top;
|
||||||
buttonPanel.Height = 50;
|
buttonPanel.Height = 60;
|
||||||
buttonPanel.BackColor = Color.LightGray;
|
buttonPanel.BackColor = Color.LightGray;
|
||||||
|
|
||||||
// 软件下载按钮
|
// 软件下载按钮
|
||||||
@@ -48,45 +49,120 @@ namespace AppStore
|
|||||||
// 内容区域
|
// 内容区域
|
||||||
contentPanel = new Panel();
|
contentPanel = new Panel();
|
||||||
contentPanel.Dock = DockStyle.Fill;
|
contentPanel.Dock = DockStyle.Fill;
|
||||||
contentPanel.Padding = new Padding(20);
|
contentPanel.Padding = new Padding(10); // 减少内边距
|
||||||
this.Controls.Add(contentPanel);
|
this.Controls.Add(contentPanel);
|
||||||
|
|
||||||
// 默认显示软件下载视图
|
// 默认显示软件下载视图
|
||||||
ShowAppsView();
|
ShowAppsView();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private AppCard CreateAppCard(string appName, string downloadUrl, string iconPath)
|
||||||
|
{
|
||||||
|
AppCard card = new AppCard();
|
||||||
|
card.AppName = appName;
|
||||||
|
card.DownloadUrl = downloadUrl;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
card.AppIcon = Image.FromFile(iconPath);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
card.AppIcon = SystemIcons.Application.ToBitmap();
|
||||||
|
}
|
||||||
|
|
||||||
|
card.UpdateDisplay();
|
||||||
|
return card;
|
||||||
|
}
|
||||||
|
|
||||||
private void ShowAppsView()
|
private void ShowAppsView()
|
||||||
{
|
{
|
||||||
contentPanel.Controls.Clear();
|
contentPanel.Controls.Clear();
|
||||||
|
|
||||||
// 使用FlowLayoutPanel来组织应用卡片
|
// 使用FlowLayoutPanel来组织应用卡片
|
||||||
// 使用FlowLayoutPanel实现自动流式布局
|
|
||||||
FlowLayoutPanel flowPanel = new FlowLayoutPanel();
|
FlowLayoutPanel flowPanel = new FlowLayoutPanel();
|
||||||
flowPanel.Dock = DockStyle.Fill;
|
flowPanel.Dock = DockStyle.Fill;
|
||||||
flowPanel.AutoScroll = true;
|
flowPanel.AutoScroll = true;
|
||||||
flowPanel.Padding = new Padding(10, 30, 10, 10); // 增加顶部间距
|
flowPanel.Padding = new Padding(15, 50, 15, 15); // 进一步增加顶部内边距
|
||||||
flowPanel.WrapContents = true;
|
flowPanel.WrapContents = true;
|
||||||
|
flowPanel.Margin = new Padding(0);
|
||||||
contentPanel.Controls.Add(flowPanel);
|
contentPanel.Controls.Add(flowPanel);
|
||||||
|
|
||||||
// 创建WindowsCleaner应用卡片
|
// 添加所有应用卡片
|
||||||
AppCard windowsCleanerCard = new AppCard();
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
windowsCleanerCard.AppName = "WindowsCleaner";
|
"WindowsCleaner",
|
||||||
windowsCleanerCard.DownloadUrl = "https://ghproxy.net/https://github.com/darkmatter2048/WindowsCleaner/releases/download/v5.0.8/windowscleaner_v5.0.8_amd64_x64_setup.exe";
|
"https://ghproxy.net/https://github.com/darkmatter2048/WindowsCleaner/releases/download/v5.0.8/windowscleaner_v5.0.8_amd64_x64_setup.exe",
|
||||||
|
"img/png/WindowsCleaner.png"));
|
||||||
|
|
||||||
try
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
{
|
"Alist",
|
||||||
// 加载应用图标
|
"https://ghproxy.net/https://github.com/AlistGo/alist/releases/download/v3.45.0/alist-windows-amd64.zip",
|
||||||
windowsCleanerCard.AppIcon = Image.FromFile("img/png/WindowsCleaner.png");
|
"img/png/alist.png"));
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
// 如果图标加载失败,使用默认图标
|
|
||||||
windowsCleanerCard.AppIcon = SystemIcons.Application.ToBitmap();
|
|
||||||
}
|
|
||||||
|
|
||||||
windowsCleanerCard.UpdateDisplay();
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
// 添加卡片到流式布局
|
"OpenSpeedy",
|
||||||
flowPanel.Controls.Add(windowsCleanerCard);
|
"https://ghproxy.net/https://github.com/game1024/OpenSpeedy/releases/download/v1.7.1/OpenSpeedy-v1.7.1.zip",
|
||||||
|
"img/png/openspeedy.png"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"QuickLook",
|
||||||
|
"https://ghproxy.net/https://github.com/QL-Win/QuickLook/releases/download/4.0.2/QuickLook-4.0.2.exe",
|
||||||
|
"img/png/quicklook.png"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"VSCode",
|
||||||
|
"https://vscode.download.prss.microsoft.com/dbazure/download/stable/dfaf44141ea9deb3b4096f7cd6d24e00c147a4b1/VSCodeSetup-x64-1.101.0.exe",
|
||||||
|
"img/png/vscode.png"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"Notepad++",
|
||||||
|
"https://ghproxy.net/https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.8.1/npp.8.8.1.Installer.exe",
|
||||||
|
"img/png/notepad++.png"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"7-Zip",
|
||||||
|
"https://objects.githubusercontent.com/github-production-release-asset-2e65be/466446150/1645817e-3677-4207-93ff-e62de7e147be?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250613%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250613T035936Z&X-Amz-Expires=300&X-Amz-Signature=5e02d5fc34f45bd8308029c9fc78052007e9475ce0e32775619921cb8f3b83ea&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3D7z2409-x64.exe&response-content-type=application%2Foctet-stream",
|
||||||
|
"img/png/7ziplogo.png"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"7-Zip Lite",
|
||||||
|
"https://ghproxy.net/https://github.com/zs-yg/package/releases/download/v0.1/7-Zip.7z",
|
||||||
|
"img/png/7ziplogo.png"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"GreenShot",
|
||||||
|
"https://objects.githubusercontent.com/github-production-release-asset-2e65be/36756917/239aedb0-7d29-11e7-9f9c-d36ec4466ade?X-Amz-Algorithm=AWS4-HMAC-SSHA256&X-Amz-Credential=releaseassetproduction%2F20250613%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250613T041723Z&X-Amz-Expires=300&X-Amz-Signature=be1ef88a68bbc7065af5111809d11de881022933b44f6d961eb6bd6e6b7e60a8&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3DGreenshot-INSTALLER-1.2.10.6-RELEASE.exe&response-content-type=application%2Foctet-stream",
|
||||||
|
"img/png/greenshot-logo.png"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"VLC Media Player",
|
||||||
|
"https://mirrors.ustc.edu.cn/videolan-ftp/vlc/3.0.21/win64/vlc-3.0.21-win64.exe",
|
||||||
|
"img/jpg/VLC.jpg"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"OBS Studio",
|
||||||
|
"https://cdn-fastly.obsproject.com/downloads/OBS-Studio-31.0.3-Windows-Installer.exe",
|
||||||
|
"img/png/OBS.png"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"Everything",
|
||||||
|
"https://www.voidtools.com/Everything-1.4.1.1027.x64-Setup.exe",
|
||||||
|
"img/jpg/everything.jpg"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"Everything Lite",
|
||||||
|
"https://www.voidtools.com/Everything-1.4.1.1027.x64.Lite-Setup.exe",
|
||||||
|
"img/jpg/everything.jpg"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"Pinta",
|
||||||
|
"https://ghproxy.net/https://github.com/PintaProject/Pinta/releases/download/3.0.1/pinta-3.0.1.zip",
|
||||||
|
"img/png/pinta.png"));
|
||||||
|
|
||||||
|
flowPanel.Controls.Add(CreateAppCard(
|
||||||
|
"ShareX",
|
||||||
|
"https://ghproxy.net/https://github.com/ShareX/ShareX/releases/download/v17.1.0/ShareX-17.1.0-setup.exe",
|
||||||
|
"img/png/ShareX.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private FlowLayoutPanel downloadsFlowPanel = new FlowLayoutPanel();
|
private FlowLayoutPanel downloadsFlowPanel = new FlowLayoutPanel();
|
||||||
|
|||||||
14
README.md
@@ -63,3 +63,17 @@ AppStore/
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2025 kortapp-z项目组
|
Copyright (c) 2025 kortapp-z项目组
|
||||||
|
|
||||||
|
## 维护
|
||||||
|
|
||||||
|
每一个人都可以通过PR添加属于自己的合法软件
|
||||||
|
|
||||||
|
qq群:
|
||||||
|
```
|
||||||
|
1043867176
|
||||||
|
```
|
||||||
|
|
||||||
|
b站账号:
|
||||||
|
```
|
||||||
|
Zayisynth
|
||||||
|
```
|
||||||
|
|||||||
BIN
img/jpg/VLC.jpg
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
img/jpg/edge.jpg
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
img/jpg/everything.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
img/jpg/firefox.jpg
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
img/png/7ziplogo.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
img/png/BleachBit.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
img/png/CherryStudio.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
img/png/HandBrake.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
img/png/LibreOffice.png
Normal file
|
After Width: | Height: | Size: 923 B |
BIN
img/png/LosslessCut.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
img/png/MSYS2.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
img/png/OBS.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
img/png/Pinta.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
img/png/ShareX.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
img/png/WinDirStat.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
img/png/alist.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
img/png/catime_resize.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
img/png/geek.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
img/png/git.png
Normal file
|
After Width: | Height: | Size: 841 B |
BIN
img/png/greenshot-logo.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
img/png/mem reduct.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
img/png/notepad++.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
img/png/openspeedy.png
Normal file
|
After Width: | Height: | Size: 258 KiB |
BIN
img/png/quicklook.png
Normal file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
img/png/vscode.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |