mirror of
https://github.com/zs-yg/kortapp-z.git
synced 2025-12-06 16:10:42 +08:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d85d2d67ea | ||
|
|
532006297a | ||
|
|
8ccf566d88 | ||
|
|
5029b5b2b8 | ||
|
|
c0d366acdc | ||
|
|
95b05612c9 | ||
|
|
144cbce13f | ||
|
|
63d360072b | ||
|
|
4f0d223579 | ||
|
|
d11bb9bc79 | ||
|
|
595a78473f |
66
AboutForm.cs
Normal file
66
AboutForm.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AppStore
|
||||
{
|
||||
public class AboutForm : Form
|
||||
{
|
||||
public AboutForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.Text = "关于 kortapp-z";
|
||||
this.Size = new Size(500, 400);
|
||||
this.StartPosition = FormStartPosition.CenterScreen;
|
||||
this.FormBorderStyle = FormBorderStyle.FixedDialog;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
|
||||
// 添加应用图标
|
||||
PictureBox logo = new PictureBox();
|
||||
try
|
||||
{
|
||||
logo.Image = Image.FromFile("img/png/kortapp-z.png");
|
||||
logo.SizeMode = PictureBoxSizeMode.Zoom;
|
||||
logo.Width = 200;
|
||||
logo.Height = 200;
|
||||
logo.Location = new Point((this.Width - logo.Width) / 2, 30);
|
||||
this.Controls.Add(logo);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show($"无法加载应用图标: {ex.Message}");
|
||||
}
|
||||
|
||||
// 添加应用信息
|
||||
Label infoLabel = new Label();
|
||||
infoLabel.Text = "kortapp-z\n版本: 0.9.5\n一个简单、开源的应用商店\nkortapp-z是完全免费的基于.NET8和C++的软件";
|
||||
infoLabel.Font = new Font("Microsoft YaHei", 12);
|
||||
infoLabel.AutoSize = false;
|
||||
infoLabel.Width = this.ClientSize.Width - 40;
|
||||
infoLabel.Height = 100;
|
||||
infoLabel.TextAlign = ContentAlignment.MiddleCenter;
|
||||
infoLabel.Location = new Point(
|
||||
20,
|
||||
logo.Bottom + 20
|
||||
);
|
||||
this.Controls.Add(infoLabel);
|
||||
|
||||
// 添加关闭按钮
|
||||
Button closeButton = new Button();
|
||||
closeButton.Text = "关闭";
|
||||
closeButton.Width = 100;
|
||||
closeButton.Height = 40;
|
||||
closeButton.Location = new Point(
|
||||
(this.Width - closeButton.Width) / 2,
|
||||
infoLabel.Bottom + 30
|
||||
);
|
||||
closeButton.Click += (s, e) => this.Close();
|
||||
this.Controls.Add(closeButton);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
@@ -9,6 +10,16 @@ namespace AppStore
|
||||
{
|
||||
public class DownloadManager
|
||||
{
|
||||
|
||||
|
||||
[DllImport("shell32.dll")]
|
||||
private static extern int SHGetKnownFolderPath(
|
||||
[MarshalAs(UnmanagedType.LPStruct)] Guid rfid,
|
||||
uint dwFlags,
|
||||
IntPtr hToken,
|
||||
out IntPtr ppszPath);
|
||||
|
||||
|
||||
private static DownloadManager instance = null!;
|
||||
public static DownloadManager Instance => instance ??= new DownloadManager();
|
||||
|
||||
@@ -77,11 +88,36 @@ namespace AppStore
|
||||
try
|
||||
{
|
||||
// 设置下载目录为用户文件夹中的Downloads
|
||||
var downloadsDir = Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
"Downloads");
|
||||
// 获取系统下载文件夹路径
|
||||
// 获取系统下载文件夹路径
|
||||
string downloadsDir;
|
||||
IntPtr pathPtr = IntPtr.Zero;
|
||||
try
|
||||
{
|
||||
// 使用SHGetKnownFolderPath API获取下载文件夹
|
||||
var downloadsFolderGuid = new Guid("374DE290-123F-4565-9164-39C4925E467B");
|
||||
if (SHGetKnownFolderPath(downloadsFolderGuid, 0, IntPtr.Zero, out pathPtr) != 0)
|
||||
{
|
||||
throw new Exception("无法获取下载文件夹路径");
|
||||
}
|
||||
|
||||
downloadsDir = Marshal.PtrToStringUni(pathPtr);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw new Exception("无法确定下载文件夹位置,请手动指定下载路径");
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (pathPtr != IntPtr.Zero)
|
||||
{
|
||||
Marshal.FreeCoTaskMem(pathPtr);
|
||||
}
|
||||
}
|
||||
Directory.CreateDirectory(downloadsDir);
|
||||
|
||||
|
||||
|
||||
// 构建aria2c路径
|
||||
var aria2cPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "resource", "aria2c.exe");
|
||||
|
||||
@@ -95,7 +131,7 @@ namespace AppStore
|
||||
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}");
|
||||
|
||||
|
||||
currentProcess = new Process
|
||||
{
|
||||
@@ -134,7 +170,7 @@ namespace AppStore
|
||||
{
|
||||
if (!string.IsNullOrEmpty(e.Data))
|
||||
{
|
||||
Console.WriteLine($"输出: {e.Data}");
|
||||
|
||||
|
||||
// 重置超时计时器
|
||||
progressTimer.Stop();
|
||||
@@ -147,7 +183,7 @@ namespace AppStore
|
||||
.Split('(')[0].Trim();
|
||||
if (long.TryParse(sizeStr, out totalSize))
|
||||
{
|
||||
Console.WriteLine($"检测到文件总大小: {totalSize} bytes");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,7 +211,7 @@ namespace AppStore
|
||||
{
|
||||
if (!string.IsNullOrEmpty(e.Data))
|
||||
{
|
||||
Console.WriteLine($"错误: {e.Data}");
|
||||
|
||||
downloadItem.Status = $"错误: {e.Data}";
|
||||
DownloadProgressChanged?.Invoke(downloadItem);
|
||||
}
|
||||
@@ -202,11 +238,11 @@ namespace AppStore
|
||||
|
||||
if (File.Exists(downloadPath))
|
||||
{
|
||||
Console.WriteLine($"文件下载完成: {downloadPath}");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("警告: 下载完成但文件不存在");
|
||||
|
||||
}
|
||||
|
||||
// 触发界面更新
|
||||
@@ -222,7 +258,7 @@ namespace AppStore
|
||||
var mainForm = Application.OpenForms[0];
|
||||
mainForm.Invoke((MethodInvoker)delegate {
|
||||
MessageBox.Show(mainForm,
|
||||
$"文件 {downloadItem.FileName} 已成功下载到:\n{Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads", downloadItem.FileName)}",
|
||||
$"文件 {downloadItem.FileName} 已成功下载到:\n{Path.Combine(downloadsDir, downloadItem.FileName)}",
|
||||
"下载完成",
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Information);
|
||||
@@ -230,12 +266,11 @@ namespace AppStore
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("下载完成提示:无法找到主窗体");
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
catch
|
||||
{
|
||||
Console.WriteLine($"显示下载完成提示时出错:{ex}");
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -263,8 +298,7 @@ namespace AppStore
|
||||
downloadItem.UpdateDisplay();
|
||||
};
|
||||
|
||||
Console.WriteLine($"启动aria2c: {aria2cPath}");
|
||||
Console.WriteLine($"参数: {arguments}");
|
||||
|
||||
|
||||
if (!currentProcess.Start())
|
||||
{
|
||||
@@ -278,8 +312,8 @@ namespace AppStore
|
||||
catch (Exception ex)
|
||||
{
|
||||
downloadItem.Status = $"下载错误: {ex.Message}";
|
||||
Console.WriteLine($"下载错误: {ex}");
|
||||
DownloadCompleted?.Invoke(downloadItem);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -304,7 +338,6 @@ namespace AppStore
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"取消下载时出错: {ex}");
|
||||
item.Status = $"取消失败: {ex.Message}";
|
||||
DownloadProgressChanged?.Invoke(item);
|
||||
}
|
||||
|
||||
44
MainForm.cs
44
MainForm.cs
@@ -17,6 +17,8 @@ namespace AppStore
|
||||
private Button btnDownloads = null!;
|
||||
// 设置按钮
|
||||
private Button btnSettings = null!;
|
||||
// 关于按钮
|
||||
private Button btnAbout = null!;
|
||||
// 内容显示面板
|
||||
private Panel contentPanel = null!;
|
||||
|
||||
@@ -95,6 +97,18 @@ namespace AppStore
|
||||
};
|
||||
buttonPanel.Controls.Add(btnSettings);
|
||||
|
||||
// 关于按钮
|
||||
btnAbout = new Button();
|
||||
btnAbout.Text = "关于";
|
||||
btnAbout.Location = new Point(450, 0);
|
||||
styleButton(btnAbout);
|
||||
btnAbout.Click += (s, e) => {
|
||||
Logger.Log("用户点击了'关于'按钮");
|
||||
var aboutForm = new AboutForm();
|
||||
aboutForm.ShowDialog();
|
||||
};
|
||||
buttonPanel.Controls.Add(btnAbout);
|
||||
|
||||
// 现代化内容区域
|
||||
contentPanel = new Panel();
|
||||
contentPanel.Dock = DockStyle.Fill;
|
||||
@@ -596,6 +610,36 @@ namespace AppStore
|
||||
"glance",
|
||||
"https://ghproxy.net/https://github.com/glanceapp/glance/releases/download/v0.8.4/glance-windows-amd64.zip",
|
||||
"img/png/glance.png"));
|
||||
|
||||
flowPanel.Controls.Add(CreateAppCard(
|
||||
"openark",
|
||||
"https://ghproxy.net/https://github.com/BlackINT3/OpenArk/releases/download/v1.3.8/OpenArk64.exe",
|
||||
"img/png/openark.png"));
|
||||
|
||||
flowPanel.Controls.Add(CreateAppCard(
|
||||
"SSM",
|
||||
"https://ghproxy.net/https://github.com/AlexanderPro/SmartSystemMenu/releases/download/v2.31.0/SmartSystemMenu_v2.31.0.zip",
|
||||
"img/png/SSM.png"));
|
||||
|
||||
flowPanel.Controls.Add(CreateAppCard(
|
||||
"Ditto",
|
||||
"https://ghproxy.net/https://github.com/sabrogden/Ditto/releases/download/3.24.246.0/DittoSetup_64bit_3_24_246_0.exe",
|
||||
"img/png/Ditto.png"));
|
||||
|
||||
flowPanel.Controls.Add(CreateAppCard(
|
||||
"XDM",
|
||||
"https://github.com/subhra74/xdm/releases/download/7.2.11/xdm-setup.msi",
|
||||
"img/png/XDM.png"));
|
||||
|
||||
flowPanel.Controls.Add(CreateAppCard(
|
||||
"FDM",
|
||||
"https://files2.freedownloadmanager.org/6/latest/fdm_x64_setup.exe",
|
||||
"img/png/FDM.png"));
|
||||
|
||||
flowPanel.Controls.Add(CreateAppCard(
|
||||
"ABDM",
|
||||
"https://ghproxy.net/https://github.com/amir1376/ab-download-manager/releases/download/v1.6.4/ABDownloadManager_1.6.4_windows_x64.exe",
|
||||
"img/png/ABDM.png"));
|
||||
}
|
||||
|
||||
private FlowLayoutPanel downloadsFlowPanel = new FlowLayoutPanel();
|
||||
|
||||
10
README.md
10
README.md
@@ -16,7 +16,11 @@
|
||||
|
||||
## 项目简介
|
||||
|
||||

|
||||

|
||||
|
||||
这个图片可能有点问题,因为它是gitee仓库中的图片
|
||||
这是为了加快图片渲染速度,但是它好像只能渲染一半,在gitee是正常的
|
||||
这个我没什么办法了
|
||||
|
||||
一个简单的Windows应用商店应用,提供软件下载和管理功能。
|
||||
|
||||
@@ -80,6 +84,10 @@ MIT License
|
||||
|
||||
Copyright (c) 2025 kortapp-z项目组
|
||||
|
||||
## 其他网站
|
||||
|
||||
gitee镜像仓库:https://gitee.com/chr_super/kortapp-z
|
||||
|
||||
## 维护
|
||||
|
||||
每一个人都可以通过PR添加属于自己的合法软件
|
||||
|
||||
BIN
img/png/ABDM.png
Normal file
BIN
img/png/ABDM.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
BIN
img/png/FDM.png
Normal file
BIN
img/png/FDM.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 895 B |
BIN
img/png/XDM.png
Normal file
BIN
img/png/XDM.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
BIN
resource/border_renderer.exe
Normal file
BIN
resource/border_renderer.exe
Normal file
Binary file not shown.
BIN
resource/card_calculator.exe
Normal file
BIN
resource/card_calculator.exe
Normal file
Binary file not shown.
Binary file not shown.
@@ -1,9 +1,8 @@
|
||||
WindowsCleaner: https://ghproxy.net/https://github.com/darkmatter2048/WindowsCleaner/releases/download/v5.0.8/windowscleaner_v5.0.8_amd64_x64_setup.exe
|
||||
python3.8:https://www.python.org/ftp/python/3.8.0/python-3.8.0-amd64.exe
|
||||
openlist:https://ghproxy.net/https://github.com/OpenListTeam/OpenList/releases/download/beta/openlist-windows-amd64.zip
|
||||
OpenSpeedy:https://ghproxy.net/https://github.com/game1024/OpenSpeedy/releases/download/v1.7.1/OpenSpeedy-v1.7.1.zip
|
||||
QuickLook:https://ghproxy.net/https://github.com/QL-Win/QuickLook/releases/download/4.0.2/QuickLook-4.0.2.exe
|
||||
VSCode:https://vscode.download.prss.microsoft.com/dbazure/download/stable/dfaf44141ea9deb3b4096f7cd6d24e00c147a4b1/VSCodeSetup-x64-1.101.0.exe
|
||||
Notepad++: https://ghproxy.net/https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.8.1/npp.8.8.1.Installer.exe
|
||||
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
|
||||
7-Zip Lite:https://ghproxy.net/https://github.com/zs-yg/package/releases/download/v0.1/7-Zip.7z
|
||||
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
|
||||
@@ -14,6 +13,7 @@ Everything Lite: https://www.voidtools.com/Everything-1.4.1.1027.x64.Lite-Setup.
|
||||
Pinta:https://ghproxy.net/https://github.com/PintaProject/Pinta/releases/download/3.0.1/pinta-3.0.1.zip
|
||||
ShareX:https://ghproxy.net/https://github.com/ShareX/ShareX/releases/download/v17.1.0/ShareX-17.1.0-setup.exe
|
||||
LosslessCut:https://ghproxy.net/https://github.com/mifi/lossless-cut/releases/download/v3.64.0/LosslessCut-win-x64.7z
|
||||
mingw-64:https://ghproxy.net/https://github.com/niXman/mingw-builds-binaries/releases/download/15.1.0-rt_v12-rev0/x86_64-15.1.0-release-posix-seh-ucrt-rt_v12-rev0.7z
|
||||
Edge:https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/cb21e6b5-3f63-4df2-bec3-a2015b80dc56/MicrosoftEdgeEnterpriseX64.msi
|
||||
Firefox:https://download-ssl.firefox.com.cn/releases-sha2/full/116.0/zh-CN/Firefox-full-latest-win64.exe
|
||||
Msys2:https://github.com/msys2/msys2-installer/releases/download/2025-02-21/msys2-x86_64-20250221.exe
|
||||
@@ -34,7 +34,7 @@ terminal: https://ghproxy.net/https://github.com/microsoft/terminal/releases/dow
|
||||
typescript:https://ghproxy.net/https://github.com/microsoft/TypeScript/releases/download/v5.8.3/typescript-5.8.3.tgz
|
||||
peazip:https://ghproxy.net/https://github.com/peazip/PeaZip/releases/download/10.4.0/peazip-10.4.0.WIN64.exe
|
||||
Gimp:https://mirror.nju.edu.cn/gimp/gimp/v3.0/windows/gimp-3.0.4-setup.exe
|
||||
Shotcut: https://sourceforge.net/projects/shotcut/files/v25.05.11/shotcut-win64-250511.exe/download
|
||||
Shotcut:https://sourceforge.net/projects/sshotcut/files/v25.05.11/shotcut-win64-250511.exe/download
|
||||
Audacity:https://muse-cdn.com/Audacity_Installer_via_MuseHub.exe
|
||||
KeePass:https://ghproxy.net/https://github.com/zs-yg/package/releases/download/v0.3/KeePass-2.58-Setup.exe
|
||||
Thunderbird:https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/139.0.2/win64/zh-CN/Thunderbird%20Setup%20139.0.2.exe
|
||||
@@ -66,3 +66,20 @@ Keypirinha: https://ghproxy.net/https://github.com/Keypirinha/Keypirinha/release
|
||||
FileBrowser:https://ghproxy.net/https://github.com/filebrowser/filebrowser/releases/download/v2.32.0/windows-amd64-filebrowser.zip
|
||||
Cloudreve:https://ghproxy.net/https://github.com/cloudreve/cloudreve/releases/download/3.8.3/cloudreve_3.8.3_windows_amd64.zip
|
||||
SeelenUI:https://ghproxy.net/https://github.com/eythaann/Seelen-UI/releases/download/v2.3.8/Seelen.UI_2.3.8_x64-setup.exe
|
||||
git汉化包:https://ghproxy.net/https://github.com/zs-yg/package/releases/download/v0.6/zh_cn.msg
|
||||
everything便携版:https://www.voidtools.com/Everything-1.4.1.1027.x64.zip
|
||||
BongoCat:https://ghproxy.net/https://github.com/ayangweb/BongoCat/releases/download/v0.5.0/BongoCat_0.5.0_x64-setup.exe
|
||||
GalaceanEngine(code):https://ghproxy.net/https://github.com/galacean/engine/archive/refs/tags/v1.5.7.zip
|
||||
trivy:https://ghproxy.net/https://github.com/aquasecurity/trivy/releases/download/v0.63.0/trivy_0.63.0_windows-64bit.zip
|
||||
daytona(code):https://ghproxy.net/https://github.com/aquasecurity/trivy/releases/download/v0.63.0/trivy_0.63.0_windows-64bit.zip
|
||||
HowToCook:https://ghproxy.net/https://github.com/Anduin2017/HowToCook/archive/refs/tags/1.5.0.zip
|
||||
code-server:https://ghproxy.net/https://github.com/coder/code-server/archive/refs/tags/v4.100.3.zip
|
||||
yt-dlp:https://ghproxy.net/https://github.com/yt-dlp/yt-dlp/releases/download/2025.06.09/yt-dlp_win.zip
|
||||
omi(code):https://ghproxy.net/https://github.com/Tencent/omi/archive/refs/tags/v7.7.0.zip
|
||||
Maxun(code):https://ghproxy.net/https://github.com/getmaxun/maxun/archive/refs/tags/v0.0.16.zip
|
||||
n8n(code):https://ghproxy.net/https://github.com/n8n-io/n8n/archive/refs/tags/n8n@1.97.1.zip
|
||||
WechatRealFriends:https://ghproxy.net/https://github.com/StrayMeteor3337/WechatRealFriends/releases/download/v1.0.4/WechatRealFriends_1.0.4.zip
|
||||
glance:https://ghproxy.net/https://github.com/glanceapp/glance/releases/download/v0.8.4/glance-windows-amd64.zip
|
||||
openark:https://ghproxy.net/https://github.com/BlackINT3/OpenArk/releases/download/v1.3.8/OpenArk64.exe
|
||||
SSM:https://ghproxy.net/https://github.com/AlexanderPro/SmartSystemMenu/releases/download/v2.31.0/SmartSystemMenu_v2.31.0.zip
|
||||
Ditto:https://ghproxy.net/https://github.com/sabrogden/Ditto/releases/download/3.24.246.0/DittoSetup_64bit_3_24_246_0.exe
|
||||
|
||||
Reference in New Issue
Block a user