Compare commits

...

2 Commits

Author SHA1 Message Date
2130c3db88 feat(POE-AutoFlask): 实现自定义按键输入功能
- 新增自定义按键输入界面和逻辑
- 添加按键转换和去重功能
- 优化现有按键设置界面布局
- 更新应用图标
2025-06-26 22:09:26 +08:00
85dd933518 init 2025-06-26 19:34:02 +08:00
41 changed files with 1166 additions and 0 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ dist
.venv
PyQt-Fluent-Widgets
.idea
POE-AutoFlask/POE-AutoFlask/bin

View File

@ -0,0 +1,16 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "POE-AutoFlask", "POE-AutoFlask\POE-AutoFlask.csproj", "{DB2BB4FA-A058-4C57-A86C-9A7A63636E67}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DB2BB4FA-A058-4C57-A86C-9A7A63636E67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DB2BB4FA-A058-4C57-A86C-9A7A63636E67}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DB2BB4FA-A058-4C57-A86C-9A7A63636E67}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DB2BB4FA-A058-4C57-A86C-9A7A63636E67}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,6 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AForm_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fea4e26b838fa1efe7191739c1dfa5a1eb085bb31e6aa725759b9f49e1b_003FForm_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AKeys_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F1f2f0b08d2574f1aa35973d1cd0ae347cef920_003Fcd_003F653168c5_003FKeys_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMarshal_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F211e6f3b24fa438a92f1815153647ce2c8f908_003Fbd_003Fa484ba8f_003FMarshal_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMessageBox_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FLocal_003FSymbols_003Fsrc_003Fdotnet_003Fwinforms_003Fe4efded416f8216935683d9a12e2eb45df78a728_003Fsrc_003FSystem_002EWindows_002EForms_003Fsrc_003FSystem_003FWindows_003FForms_003FMessageBox_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANativeWindow_002Ecs_002Fl_003AC_0021_003FUsers_003FAdministrator_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fde7e5d9f3eff8e93316bbae6f9743ff9f72884862e5d612aaaba84bf9aa3a8_003FNativeWindow_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>

View File

@ -0,0 +1,297 @@
namespace POE_AutoFlask;
partial class MainForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
ListenStatus = new AntdUI.Label();
groupBox1 = new System.Windows.Forms.GroupBox();
select1 = new AntdUI.Select();
label33 = new AntdUI.Label();
checkbox5 = new AntdUI.Checkbox();
checkbox4 = new AntdUI.Checkbox();
checkbox3 = new AntdUI.Checkbox();
checkbox2 = new AntdUI.Checkbox();
checkbox1 = new AntdUI.Checkbox();
groupBox2 = new System.Windows.Forms.GroupBox();
input1 = new AntdUI.Input();
SetStartButton = new AntdUI.Button();
inputNumber1 = new AntdUI.InputNumber();
label2 = new AntdUI.Label();
select2 = new AntdUI.Select();
label1 = new AntdUI.Label();
ListenButton = new AntdUI.Button();
groupBox1.SuspendLayout();
groupBox2.SuspendLayout();
SuspendLayout();
//
// ListenStatus
//
ListenStatus.AutoSizeMode = AntdUI.TAutoSize.Auto;
ListenStatus.Font = new System.Drawing.Font("Microsoft YaHei UI", 16F, System.Drawing.FontStyle.Bold);
ListenStatus.Location = new System.Drawing.Point(15, 15);
ListenStatus.Name = "ListenStatus";
ListenStatus.Size = new System.Drawing.Size(213, 28);
ListenStatus.TabIndex = 0;
ListenStatus.Text = "状态:监听中(F2切换)";
//
// groupBox1
//
groupBox1.Controls.Add(select1);
groupBox1.Controls.Add(label33);
groupBox1.Controls.Add(checkbox5);
groupBox1.Controls.Add(checkbox4);
groupBox1.Controls.Add(checkbox3);
groupBox1.Controls.Add(checkbox2);
groupBox1.Controls.Add(checkbox1);
groupBox1.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F, System.Drawing.FontStyle.Bold);
groupBox1.Location = new System.Drawing.Point(12, 54);
groupBox1.Name = "groupBox1";
groupBox1.Size = new System.Drawing.Size(306, 123);
groupBox1.TabIndex = 1;
groupBox1.TabStop = false;
groupBox1.Text = "按`自动喝药";
//
// select1
//
select1.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
select1.Items.AddRange(new object[] { "50 ms", "100 ms", "200 ms", "300 ms", "500 ms", "1000 ms", "2000 ms", "5000 ms" });
select1.Location = new System.Drawing.Point(126, 71);
select1.MaxCount = 12;
select1.Name = "select1";
select1.SelectedIndex = 0;
select1.SelectedValue = "50 ms";
select1.Size = new System.Drawing.Size(174, 44);
select1.TabIndex = 12;
select1.Text = "50 ms";
//
// label33
//
label33.AutoSizeMode = AntdUI.TAutoSize.Auto;
label33.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
label33.Location = new System.Drawing.Point(14, 85);
label33.Name = "label33";
label33.Size = new System.Drawing.Size(111, 17);
label33.TabIndex = 11;
label33.Text = "按键之间延迟(ms):";
//
// checkbox5
//
checkbox5.AutoSizeMode = AntdUI.TAutoSize.Auto;
checkbox5.Checked = true;
checkbox5.Location = new System.Drawing.Point(238, 30);
checkbox5.Name = "checkbox5";
checkbox5.Size = new System.Drawing.Size(51, 41);
checkbox5.TabIndex = 10;
checkbox5.Text = "5";
//
// checkbox4
//
checkbox4.AutoSizeMode = AntdUI.TAutoSize.Auto;
checkbox4.Checked = true;
checkbox4.Location = new System.Drawing.Point(182, 30);
checkbox4.Name = "checkbox4";
checkbox4.Size = new System.Drawing.Size(51, 41);
checkbox4.TabIndex = 9;
checkbox4.Text = "4";
//
// checkbox3
//
checkbox3.AutoSizeMode = AntdUI.TAutoSize.Auto;
checkbox3.Checked = true;
checkbox3.Location = new System.Drawing.Point(126, 30);
checkbox3.Name = "checkbox3";
checkbox3.Size = new System.Drawing.Size(51, 41);
checkbox3.TabIndex = 8;
checkbox3.Text = "3";
//
// checkbox2
//
checkbox2.AutoSizeMode = AntdUI.TAutoSize.Auto;
checkbox2.Checked = true;
checkbox2.Location = new System.Drawing.Point(70, 30);
checkbox2.Name = "checkbox2";
checkbox2.Size = new System.Drawing.Size(51, 41);
checkbox2.TabIndex = 7;
checkbox2.Text = "2";
//
// checkbox1
//
checkbox1.AutoSizeMode = AntdUI.TAutoSize.Auto;
checkbox1.Checked = true;
checkbox1.Location = new System.Drawing.Point(14, 30);
checkbox1.Name = "checkbox1";
checkbox1.Size = new System.Drawing.Size(51, 41);
checkbox1.TabIndex = 0;
checkbox1.Text = "1";
//
// groupBox2
//
groupBox2.Controls.Add(input1);
groupBox2.Controls.Add(SetStartButton);
groupBox2.Controls.Add(inputNumber1);
groupBox2.Controls.Add(label2);
groupBox2.Controls.Add(select2);
groupBox2.Controls.Add(label1);
groupBox2.Font = new System.Drawing.Font("Microsoft YaHei UI", 12F, System.Drawing.FontStyle.Bold);
groupBox2.Location = new System.Drawing.Point(12, 188);
groupBox2.Name = "groupBox2";
groupBox2.Size = new System.Drawing.Size(306, 232);
groupBox2.TabIndex = 13;
groupBox2.TabStop = false;
groupBox2.Text = "设置自定义启停,循环输入自定义按键";
//
// input1
//
input1.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
input1.Location = new System.Drawing.Point(14, 121);
input1.MaxLength = 5;
input1.Name = "input1";
input1.PrefixText = "输入最多五个按键:";
input1.Size = new System.Drawing.Size(266, 52);
input1.SuffixText = "";
input1.TabIndex = 17;
//
// SetStartButton
//
SetStartButton.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
SetStartButton.Location = new System.Drawing.Point(14, 179);
SetStartButton.Name = "SetStartButton";
SetStartButton.Size = new System.Drawing.Size(275, 45);
SetStartButton.TabIndex = 19;
SetStartButton.Text = "输入crtl+num3启停功能";
//
// inputNumber1
//
inputNumber1.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
inputNumber1.Location = new System.Drawing.Point(127, 71);
inputNumber1.Maximum = new decimal(new int[] { 9999, 0, 0, 0 });
inputNumber1.MaxLength = 5;
inputNumber1.Minimum = new decimal(new int[] { 1000, 0, 0, 0 });
inputNumber1.Name = "inputNumber1";
inputNumber1.Size = new System.Drawing.Size(174, 44);
inputNumber1.TabIndex = 14;
inputNumber1.Text = "1000";
inputNumber1.Value = new decimal(new int[] { 1000, 0, 0, 0 });
//
// label2
//
label2.AutoSizeMode = AntdUI.TAutoSize.Auto;
label2.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
label2.Location = new System.Drawing.Point(14, 82);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(111, 17);
label2.TabIndex = 13;
label2.Text = "每轮循环延迟(ms):";
//
// select2
//
select2.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
select2.Items.AddRange(new object[] { "50 ms", "100 ms", "200 ms", "300 ms", "500 ms", "1000 ms", "2000 ms", "5000 ms" });
select2.Location = new System.Drawing.Point(127, 27);
select2.MaxCount = 12;
select2.Name = "select2";
select2.SelectedIndex = 0;
select2.SelectedValue = "50 ms";
select2.Size = new System.Drawing.Size(174, 44);
select2.TabIndex = 12;
select2.Text = "50 ms";
//
// label1
//
label1.AutoSizeMode = AntdUI.TAutoSize.Auto;
label1.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
label1.Location = new System.Drawing.Point(14, 38);
label1.Name = "label1";
label1.Size = new System.Drawing.Size(111, 17);
label1.TabIndex = 11;
label1.Text = "按键之间延迟(ms):";
//
// ListenButton
//
ListenButton.Font = new System.Drawing.Font("Microsoft YaHei UI", 10F);
ListenButton.Location = new System.Drawing.Point(12, 426);
ListenButton.Name = "ListenButton";
ListenButton.Size = new System.Drawing.Size(306, 45);
ListenButton.TabIndex = 20;
ListenButton.Text = "暂停所有功能F2切换";
//
// MainForm
//
AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
AutoSize = true;
AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
ClientSize = new System.Drawing.Size(800, 480);
Controls.Add(ListenButton);
Controls.Add(groupBox2);
Controls.Add(groupBox1);
Controls.Add(ListenStatus);
MaximizeBox = false;
Text = "POE-AutoFlask";
TransparencyKey = System.Drawing.Color.FromArgb(((int)((byte)255)), ((int)((byte)128)), ((int)((byte)128)));
groupBox1.ResumeLayout(false);
groupBox1.PerformLayout();
groupBox2.ResumeLayout(false);
groupBox2.PerformLayout();
ResumeLayout(false);
PerformLayout();
}
private AntdUI.Input input1;
private AntdUI.Button ListenButton;
private AntdUI.Button SetStartButton;
private AntdUI.InputNumber inputNumber1;
private AntdUI.Label label2;
private System.Windows.Forms.GroupBox groupBox2;
private AntdUI.Select select2;
private AntdUI.Select select1;
private AntdUI.Label label1;
private AntdUI.Label label33;
private AntdUI.Checkbox checkbox2;
private AntdUI.Checkbox checkbox3;
private AntdUI.Checkbox checkbox4;
private AntdUI.Checkbox checkbox5;
private AntdUI.Checkbox checkbox1;
private System.Windows.Forms.GroupBox groupBox1;
private AntdUI.Label ListenStatus;
#endregion
}

View File

@ -0,0 +1,317 @@
using System.Diagnostics;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using AntdUI;
namespace POE_AutoFlask;
public partial class MainForm : BaseForm
{
private static IntPtr _hookID = IntPtr.Zero;
private static bool _isListening = true;
private CancellationTokenSource _cts = null;
private CancellationTokenSource _customInputCts = null;
private bool _customInputRunning = false;
private List<Keys> _customKeys = new List<Keys>();
private Keys[] _customStartHotkey;
private int _customKeyDelay = 50;
private int _loopDelay = 1000;
private bool startCustomInput = false;
public MainForm()
{
InitializeComponent();
this.Load += OnLoad;
Assembly asm = Assembly.GetExecutingAssembly();
using (Stream stream = asm.GetManifestResourceStream("POE_AutoFlask.icons.icon.ico"))
{
this.Icon = new Icon(stream);
}
}
private void OnLoad(object? sender, EventArgs e)
{
SetHook();
}
// 声明 API 和委托
private const int WH_KEYBOARD_LL = 13;
private const int WM_KEYDOWN = 0x0100;
private const int WM_KEYUP = 0x0101;
private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam);
private static LowLevelKeyboardProc _proc = HookCallback;
[DllImport("user32.dll")]
private static extern IntPtr SetWindowsHookEx(int idHook,
LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);
[DllImport("user32.dll")]
private static extern bool UnhookWindowsHookEx(IntPtr hhk);
[DllImport("user32.dll")]
private static extern IntPtr CallNextHookEx(IntPtr hhk,
int nCode, IntPtr wParam, IntPtr lParam);
[DllImport("kernel32.dll")]
private static extern IntPtr GetModuleHandle(string lpModuleName);
[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
[DllImport("user32.dll")]
static extern short GetAsyncKeyState(Keys vKey);
private void SetHook()
{
Console.WriteLine("按下 ` 键将模拟输入 12345。");
using (Process curProcess = Process.GetCurrentProcess())
using (ProcessModule curModule = curProcess.MainModule)
{
_hookID = SetWindowsHookEx(WH_KEYBOARD_LL, _proc,
GetModuleHandle(curModule.ModuleName), 0);
}
}
private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
{
int vkCode = Marshal.ReadInt32(lParam);
var ctrlPressed = false;
if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
{
if (vkCode == (int)Keys.F2)
{
_isListening = !_isListening;
var form = Application.OpenForms[0] as MainForm;
if (form != null)
{
form.Invoke(new Action(() =>
{
// form.Text = _isListening ? "监听已开启" : "监听已暂停";
form.ListenStatus.Text = _isListening ? "状态:监听中(F2切换)" : "状态:已停止(F2切换)";
form.ListenButton.Text = _isListening ? "暂停所有功能F2切换" : "启用所有功能F2切换";
}));
}
return (IntPtr)1;
}
if (_isListening && vkCode == (int)Keys.Oem3) // 按下 `
{
var form = Application.OpenForms[0] as MainForm;
if (form != null)
{
form.Invoke(new Action(() => { form.TriggerSimulate(); }));
}
return (IntPtr)1;
}
if (_isListening && vkCode == (int)Keys.NumPad3 && IsKeyDown(Keys.LControlKey)) // 按下 `
{
Console.WriteLine("control press");
var form = Application.OpenForms[0] as MainForm;
if (form != null)
{
form.Invoke(new Action(() => { form.TriggerSimulateCustom(); }));
}
return (IntPtr)1;
}
}
return CallNextHookEx(_hookID, nCode, wParam, lParam);
}
// 使用 GetAsyncKeyState 判断某个按键当前是否处于按下状态
static bool IsKeyDown(Keys key)
{
return (GetAsyncKeyState(key) & 0x8000) != 0;
}
public void TriggerSimulate()
{
_cts?.Cancel(); // 取消上一次
_cts = new CancellationTokenSource();
SimulateKeyByCheckbox(_cts.Token);
}
private async void SimulateKeyByCheckbox(CancellationToken token)
{
int delay = GetDelayFromComboBox(select1);
async Task TrySendKey(bool condition, Keys key)
{
if (condition)
{
if (token.IsCancellationRequested) return;
SimulateKey(key);
await Task.Delay(delay, token);
}
}
try
{
await TrySendKey(checkbox1.Checked, Keys.D1);
await TrySendKey(checkbox2.Checked, Keys.D2);
await TrySendKey(checkbox3.Checked, Keys.D3);
await TrySendKey(checkbox4.Checked, Keys.D4);
await TrySendKey(checkbox5.Checked, Keys.D5);
}
catch (TaskCanceledException)
{
// 被打断,正常退出
}
}
public void TriggerSimulateCustom()
{
startCustomInput = !startCustomInput;
if (startCustomInput && input1.Text.Length >= 1)
{
_customInputCts = new CancellationTokenSource();
SimulateKeyByCheckboxCustom(_customInputCts.Token);
groupBox2.Enabled = false;
}
else
{
_customInputCts?.Cancel(); // 取消上一次
groupBox2.Enabled = true;
}
}
private async void SimulateKeyByCheckboxCustom(CancellationToken token)
{
int delay = GetDelayFromComboBox(select2);
async Task TrySendKey(bool condition, Keys key)
{
if (condition)
{
if (token.IsCancellationRequested) return;
SimulateKey(key);
await Task.Delay(delay, token);
}
}
RemoveDuplicateChars(input1);
_customKeys = StringToKeys(input1.Text);
Console.WriteLine($"keys:{_customKeys}");
try
{
while (_isListening)
{
for (int i = 0; i < _customKeys.Count; i++)
{
await TrySendKey(checkbox2.Checked, _customKeys[i]);
Console.WriteLine($"key press:{_customKeys[i]}");
}
await Task.Delay((int)inputNumber1.Value);
}
}
catch (TaskCanceledException)
{
// 被打断,正常退出
}
}
static List<Keys> StringToKeys(string str)
{
var keyList = new List<Keys>();
foreach (char ch in str)
{
Keys key;
if (char.IsLetter(ch))
{
// 字母,转为大写
key = (Keys)Enum.Parse(typeof(Keys), char.ToUpper(ch).ToString());
}
else if (char.IsDigit(ch))
{
// 数字直接对应
key = (Keys)Enum.Parse(typeof(Keys), "D" + ch);
}
else
{
// 处理常用符号
switch (ch)
{
case ' ': key = Keys.Space; break;
case '!': key = Keys.D1; break;
case '@': key = Keys.D2; break;
case '#': key = Keys.D3; break;
case '$': key = Keys.D4; break;
case '%': key = Keys.D5; break;
case '^': key = Keys.D6; break;
case '&': key = Keys.D7; break;
case '*': key = Keys.D8; break;
case '(': key = Keys.D9; break;
case ')': key = Keys.D0; break;
case '-': key = Keys.OemMinus; break;
case '=': key = Keys.Oemplus; break;
case '[': key = Keys.OemOpenBrackets; break;
case ']': key = Keys.OemCloseBrackets; break;
case '\\': key = Keys.OemBackslash; break;
case ';': key = Keys.OemSemicolon; break;
case '\'': key = Keys.OemQuotes; break;
case ',': key = Keys.Oemcomma; break;
case '.': key = Keys.OemPeriod; break;
case '/': key = Keys.OemQuestion; break;
case '`': key = Keys.Oemtilde; break;
default:
Console.WriteLine($"暂不支持字符: {ch}");
continue;
}
}
keyList.Add(key);
}
return keyList;
}
static void RemoveDuplicateChars(Input input)
{
HashSet<char> seen = new HashSet<char>();
StringBuilder sb = new StringBuilder();
foreach (char c in input.Text)
{
if (seen.Add(c)) // Add 返回 true 表示第一次出现
{
sb.Append(c);
}
}
input.Text = sb.ToString();
}
private int GetDelayFromComboBox(Select select)
{
string selected = select.SelectedValue?.ToString() ?? "50 ms";
if (selected.EndsWith("ms"))
{
if (int.TryParse(selected.Replace("ms", "").Trim(), out int ms))
return ms;
}
return 50; // 默认值
}
private void SimulateKey(Keys key)
{
byte vk = (byte)key;
keybd_event(vk, 0, 0, 0); // key down
keybd_event(vk, 0, 2, 0); // key up
}
}

View File

@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<RootNamespace>POE_AutoFlask</RootNamespace>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>icons\icon.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AntdUI" Version="2.0.6"/>
</ItemGroup>
<ItemGroup>
<Folder Include="icons\"/>
<EmbeddedResource Include="icons\icon.ico" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,2 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/DesignerComponentManagerNuGet/DesignerToolboxNuGetNetCoreState/@EntryValue">C:\Users\Administrator\.nuget\packages\antdui\2.0.6\lib\net8.0-windows7.0\AntdUI.dll|AntdUI.Alert;AntdUI.Avatar;AntdUI.Badge;AntdUI.Battery;AntdUI.Breadcrumb;AntdUI.Button;AntdUI.Calendar;AntdUI.Carousel;AntdUI.Chat.ChatList;AntdUI.Checkbox;AntdUI.Collapse;AntdUI.CollapseGroup;AntdUI.ColorPicker;AntdUI.DatePicker;AntdUI.DatePickerRange;AntdUI.Divider;AntdUI.Dropdown;AntdUI.FlowPanel;AntdUI.GridPanel;AntdUI.IconState;AntdUI.Image3D;AntdUI.Input;AntdUI.InputNumber;AntdUI.Label;AntdUI.LabelTime;AntdUI.Menu;AntdUI.Chat.MsgList;AntdUI.PageHeader;AntdUI.Pagination;AntdUI.Panel;AntdUI.Progress;AntdUI.Radio;AntdUI.Rate;AntdUI.Segmented;AntdUI.Select;AntdUI.SelectMultiple;AntdUI.Signal;AntdUI.Slider;AntdUI.SliderRange;AntdUI.Spin;AntdUI.Splitter;AntdUI.StackPanel;AntdUI.Steps;AntdUI.Switch;AntdUI.TabHeader;AntdUI.Table;AntdUI.Tabs;AntdUI.Tag;AntdUI.Timeline;AntdUI.TimePicker;AntdUI.Tooltip;AntdUI.TooltipComponent;AntdUI.Tree;AntdUI.UploadDragger;AntdUI.VirtualPanel</s:String></wpf:ResourceDictionary>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Update="Form1.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,16 @@
namespace POE_AutoFlask;
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new MainForm());
}
}

View File

@ -0,0 +1,41 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v8.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v8.0": {
"POE-AutoFlask/1.0.0": {
"dependencies": {
"AntdUI": "2.0.6"
},
"runtime": {
"POE-AutoFlask.dll": {}
}
},
"AntdUI/2.0.6": {
"runtime": {
"lib/net8.0-windows7.0/AntdUI.dll": {
"assemblyVersion": "2.0.6.0",
"fileVersion": "2.0.6.0"
}
}
}
}
},
"libraries": {
"POE-AutoFlask/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"AntdUI/2.0.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-WPg4CEURSsqdmHIhMLRuIv69nzMdlwxcW1rGDHZvmsnv6UEiqwrRMHNftP0hZPCSYWjvfw89xkkVSVeyCnF2pA==",
"path": "antdui/2.0.6",
"hashPath": "antdui.2.0.6.nupkg.sha512"
}
}
}

View File

@ -0,0 +1,18 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "8.0.0"
}
],
"configProperties": {
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@ -0,0 +1,24 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("POE-AutoFlask")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+85dd9335188326d46bdec3da466c474e9439f510")]
[assembly: System.Reflection.AssemblyProductAttribute("POE-AutoFlask")]
[assembly: System.Reflection.AssemblyTitleAttribute("POE-AutoFlask")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@ -0,0 +1 @@
48cbbdbf79010bbd34c75a3c68995ff20d0adc96cd356c6536594db6b4922552

View File

@ -0,0 +1,23 @@
is_global = true
build_property.EnableAotAnalyzer =
build_property.EnableSingleFileAnalyzer =
build_property.EnableTrimAnalyzer =
build_property.IncludeAllContentForSelfExtract =
build_property.ApplicationManifest =
build_property.StartupObject =
build_property.ApplicationDefaultFont =
build_property.ApplicationHighDpiMode =
build_property.ApplicationUseCompatibleTextRendering =
build_property.ApplicationVisualStyles =
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = POE_AutoFlask
build_property.ProjectDir = H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@ -0,0 +1,10 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.Drawing;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
global using global::System.Windows.Forms;

View File

@ -0,0 +1 @@
681f7a3bb292dec2e0d9f806966a205114a5364f8ef40aa7f3c2cf799dc2fcad

View File

@ -0,0 +1,17 @@
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\bin\Debug\net8.0-windows\POE-AutoFlask.exe
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\bin\Debug\net8.0-windows\POE-AutoFlask.deps.json
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\bin\Debug\net8.0-windows\POE-AutoFlask.runtimeconfig.json
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\bin\Debug\net8.0-windows\POE-AutoFlask.dll
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\bin\Debug\net8.0-windows\POE-AutoFlask.pdb
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\POE-AutoFlask.GeneratedMSBuildEditorConfig.editorconfig
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\POE-AutoFlask.AssemblyInfoInputs.cache
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\POE-AutoFlask.AssemblyInfo.cs
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\POE-AutoFlask.csproj.CoreCompileInputs.cache
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\POE-AutoFlask.dll
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\refint\POE-AutoFlask.dll
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\POE-AutoFlask.pdb
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\POE-AutoFlask.genruntimeconfig.cache
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\ref\POE-AutoFlask.dll
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\bin\Debug\net8.0-windows\AntdUI.dll
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\POE-AutoFlask.csproj.AssemblyReference.cache
H:\Projects\python\POE-AutoFlask\POE-AutoFlask\POE-AutoFlask\obj\Debug\net8.0-windows\POE-Auto.2F27CBAF.Up2Date

View File

@ -0,0 +1 @@
f32410ea78647072470b3d680589cd4ef64d631ec00dc4a828f1e3b7addf6b77

View File

@ -0,0 +1,86 @@
{
"format": 1,
"restore": {
"H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask.csproj": {}
},
"projects": {
"H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask.csproj",
"projectName": "POE-AutoFlask",
"projectPath": "H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask.csproj",
"packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\",
"outputPath": "H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"dependencies": {
"AntdUI": {
"target": "Package",
"version": "[2.0.6, )"
},
"Microsoft.NET.ILLink.Tasks": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.4, )",
"autoReferenced": true
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
}
},
"runtimes": {
"win-x64": {
"#import": []
}
}
}
}
}

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Administrator\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.9.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\Administrator\.nuget\packages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.net.illink.tasks\8.0.4\build\Microsoft.NET.ILLink.Tasks.props" Condition="Exists('$(NuGetPackageRoot)microsoft.net.illink.tasks\8.0.4\build\Microsoft.NET.ILLink.Tasks.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_NET_ILLink_Tasks Condition=" '$(PkgMicrosoft_NET_ILLink_Tasks)' == '' ">C:\Users\Administrator\.nuget\packages\microsoft.net.illink.tasks\8.0.4</PkgMicrosoft_NET_ILLink_Tasks>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

View File

@ -0,0 +1,218 @@
{
"version": 3,
"targets": {
"net8.0-windows7.0": {
"AntdUI/2.0.6": {
"type": "package",
"compile": {
"lib/net8.0-windows7.0/AntdUI.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0-windows7.0/AntdUI.dll": {
"related": ".xml"
}
},
"frameworkReferences": [
"Microsoft.WindowsDesktop.App.WindowsForms"
]
},
"Microsoft.NET.ILLink.Tasks/8.0.4": {
"type": "package",
"build": {
"build/Microsoft.NET.ILLink.Tasks.props": {}
}
}
},
"net8.0-windows7.0/win-x64": {
"AntdUI/2.0.6": {
"type": "package",
"compile": {
"lib/net8.0-windows7.0/AntdUI.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net8.0-windows7.0/AntdUI.dll": {
"related": ".xml"
}
},
"frameworkReferences": [
"Microsoft.WindowsDesktop.App.WindowsForms"
]
},
"Microsoft.NET.ILLink.Tasks/8.0.4": {
"type": "package",
"build": {
"build/Microsoft.NET.ILLink.Tasks.props": {}
}
}
}
},
"libraries": {
"AntdUI/2.0.6": {
"sha512": "WPg4CEURSsqdmHIhMLRuIv69nzMdlwxcW1rGDHZvmsnv6UEiqwrRMHNftP0hZPCSYWjvfw89xkkVSVeyCnF2pA==",
"type": "package",
"path": "antdui/2.0.6",
"files": [
".nupkg.metadata",
".signature.p7s",
"README.md",
"antdui.2.0.6.nupkg.sha512",
"antdui.nuspec",
"lib/net40/AntdUI.dll",
"lib/net40/AntdUI.xml",
"lib/net46/AntdUI.dll",
"lib/net46/AntdUI.xml",
"lib/net48/AntdUI.dll",
"lib/net48/AntdUI.xml",
"lib/net6.0-windows7.0/AntdUI.dll",
"lib/net6.0-windows7.0/AntdUI.xml",
"lib/net8.0-windows7.0/AntdUI.dll",
"lib/net8.0-windows7.0/AntdUI.xml",
"lib/net9.0-windows7.0/AntdUI.dll",
"lib/net9.0-windows7.0/AntdUI.xml",
"logo.png"
]
},
"Microsoft.NET.ILLink.Tasks/8.0.4": {
"sha512": "PZb5nfQ+U19nhnmnR9T1jw+LTmozhuG2eeuzuW5A7DqxD/UXW2ucjmNJqnqOuh8rdPzM3MQXoF8AfFCedJdCUw==",
"type": "package",
"path": "microsoft.net.illink.tasks/8.0.4",
"hasTools": true,
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"Sdk/Sdk.props",
"THIRD-PARTY-NOTICES.TXT",
"analyzers/dotnet/cs/ILLink.CodeFixProvider.dll",
"analyzers/dotnet/cs/ILLink.RoslynAnalyzer.dll",
"build/Microsoft.NET.ILLink.Analyzers.props",
"build/Microsoft.NET.ILLink.Tasks.props",
"build/Microsoft.NET.ILLink.targets",
"microsoft.net.illink.tasks.8.0.4.nupkg.sha512",
"microsoft.net.illink.tasks.nuspec",
"tools/net472/ILLink.Tasks.dll",
"tools/net472/ILLink.Tasks.dll.config",
"tools/net472/Mono.Cecil.Mdb.dll",
"tools/net472/Mono.Cecil.Pdb.dll",
"tools/net472/Mono.Cecil.Rocks.dll",
"tools/net472/Mono.Cecil.dll",
"tools/net472/Sdk/Sdk.props",
"tools/net472/System.Buffers.dll",
"tools/net472/System.Collections.Immutable.dll",
"tools/net472/System.Memory.dll",
"tools/net472/System.Numerics.Vectors.dll",
"tools/net472/System.Reflection.Metadata.dll",
"tools/net472/System.Runtime.CompilerServices.Unsafe.dll",
"tools/net472/build/Microsoft.NET.ILLink.Analyzers.props",
"tools/net472/build/Microsoft.NET.ILLink.Tasks.props",
"tools/net472/build/Microsoft.NET.ILLink.targets",
"tools/net8.0/ILLink.Tasks.deps.json",
"tools/net8.0/ILLink.Tasks.dll",
"tools/net8.0/Mono.Cecil.Mdb.dll",
"tools/net8.0/Mono.Cecil.Pdb.dll",
"tools/net8.0/Mono.Cecil.Rocks.dll",
"tools/net8.0/Mono.Cecil.dll",
"tools/net8.0/Sdk/Sdk.props",
"tools/net8.0/build/Microsoft.NET.ILLink.Analyzers.props",
"tools/net8.0/build/Microsoft.NET.ILLink.Tasks.props",
"tools/net8.0/build/Microsoft.NET.ILLink.targets",
"tools/net8.0/illink.deps.json",
"tools/net8.0/illink.dll",
"tools/net8.0/illink.runtimeconfig.json",
"useSharedDesignerContext.txt"
]
}
},
"projectFileDependencyGroups": {
"net8.0-windows7.0": [
"AntdUI >= 2.0.6",
"Microsoft.NET.ILLink.Tasks >= 8.0.4"
]
},
"packageFolders": {
"C:\\Users\\Administrator\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask.csproj",
"projectName": "POE-AutoFlask",
"projectPath": "H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask.csproj",
"packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\",
"outputPath": "H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"dependencies": {
"AntdUI": {
"target": "Package",
"version": "[2.0.6, )"
},
"Microsoft.NET.ILLink.Tasks": {
"suppressParent": "All",
"target": "Package",
"version": "[8.0.4, )",
"autoReferenced": true
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
},
"Microsoft.WindowsDesktop.App.WindowsForms": {
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"
}
},
"runtimes": {
"win-x64": {
"#import": []
}
}
}
}

View File

@ -0,0 +1,11 @@
{
"version": 2,
"dgSpecHash": "mHFha3lj8kP6xsEOszLTjDNwi/gsEK/5gzjW3GrVS6q+26XJkMuk2qSwyV51LdCEmJuR5EYURVSQK0teZV5kqQ==",
"success": true,
"projectFilePath": "H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask.csproj",
"expectedPackageFiles": [
"C:\\Users\\Administrator\\.nuget\\packages\\antdui\\2.0.6\\antdui.2.0.6.nupkg.sha512",
"C:\\Users\\Administrator\\.nuget\\packages\\microsoft.net.illink.tasks\\8.0.4\\microsoft.net.illink.tasks.8.0.4.nupkg.sha512"
],
"logs": []
}

View File

@ -0,0 +1 @@
"restore":{"projectUniqueName":"H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask.csproj","projectName":"POE-AutoFlask","projectPath":"H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask.csproj","outputPath":"H:\\Projects\\python\\POE-AutoFlask\\POE-AutoFlask\\POE-AutoFlask\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0-windows"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0-windows7.0":{"targetAlias":"net8.0-windows","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"net8.0-windows7.0":{"targetAlias":"net8.0-windows","dependencies":{"AntdUI":{"target":"Package","version":"[2.0.6, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"},"Microsoft.WindowsDesktop.App.WindowsForms":{"privateAssets":"none"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\8.0.204/PortableRuntimeIdentifierGraph.json"}}

View File

@ -0,0 +1 @@
17509467341574008

View File

@ -0,0 +1 @@
17509462198510504