Compare commits

...

8 Commits

Author SHA1 Message Date
zsyg
5029b5b2b8 修复下载bug 2025-06-18 10:46:59 +08:00
zsyg
c0d366acdc Update README.md 2025-06-18 09:36:56 +08:00
zsyg
95b05612c9 完善声明文件 2025-06-18 09:34:57 +08:00
zsyg
144cbce13f Update README.md 2025-06-18 09:33:16 +08:00
zsyg
63d360072b Update README.md 2025-06-17 22:14:13 +08:00
zsyg
4f0d223579 Update README.md 2025-06-17 22:03:58 +08:00
zsyg
d11bb9bc79 Update README.md 2025-06-17 20:48:55 +08:00
zsyg
595a78473f Update README.md 2025-06-17 20:43:31 +08:00
3 changed files with 149 additions and 91 deletions

View File

@@ -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);
}

View File

@@ -16,7 +16,11 @@
## 项目简介
![image](https://github.com/user-attachments/assets/7c8e9b82-c5f8-4bfc-a63d-091e1ba8bdb0)
![image](https://gitee.com/chr_super/kortapp-z/raw/master/img/pngimage.png)
这个图片可能有点问题因为它是gitee仓库中的图片
这是为了加快图片渲染速度但是它好像只能渲染一半在gitee是正常的
这个我没什么办法了
一个简单的Windows应用商店应用提供软件下载和管理功能。
@@ -80,6 +84,10 @@ MIT License
Copyright (c) 2025 kortapp-z项目组
## 其他网站
gitee镜像仓库:https://gitee.com/chr_super/kortapp-z
## 维护
每一个人都可以通过PR添加属于自己的合法软件

View File

@@ -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