Skip to content

Commit b793f79

Browse files
committed
添加数据统计功能
1 parent 1600713 commit b793f79

File tree

11 files changed

+429
-269
lines changed

11 files changed

+429
-269
lines changed

TimeControl/AppControl/App.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Diagnostics;
22
using System.Windows.Forms;
3+
using TimeControl.Data;
34
using TimeControl.Tools;
45

56
namespace TimeControl.AppControl

TimeControl/AppControl/AppController.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public AppController(ListBox listBox, Timer timer)
1919
processMonitorTimer = timer;
2020
if (Directory.Exists(TimeControlFile.TimeFileDirectory))
2121
{
22-
apps = TimeControlFile.ReadFromXML();
22+
apps = TimeControlFile.ReadApps();
2323
}
2424
else
2525
{
@@ -107,7 +107,7 @@ public void RemoveAll()
107107
{
108108
processMonitorTimer.Stop();
109109
apps.Clear();
110-
TimeControlFile.SaveToXML(apps);
110+
TimeControlFile.SaveApps(apps);
111111
Refresh();
112112
}
113113

@@ -128,7 +128,7 @@ public void Reset()
128128

129129
public void Save()
130130
{
131-
TimeControlFile.SaveToXML(apps);
131+
TimeControlFile.SaveApps(apps);
132132
}
133133
}
134134
}

TimeControl/AppControl/LimitedApp.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System.Diagnostics;
2+
using TimeControl.Data;
23
using TimeControl.Tools;
34
using TimeControl.Windows;
45

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace TimeControl.AppControl
1+
namespace TimeControl.Data
22
{
33
public class AppInformation
44
{

TimeControl/Data/TimeData.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace TimeControl.Data
8+
{
9+
public class TimeData
10+
{
11+
public TimeSpan Time { get; set; }=new TimeSpan();
12+
public void AddTime(TimeSpan time)
13+
{
14+
Time += time;
15+
}
16+
}
17+
}

TimeControl/Tools/TaskSchedulerControl.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using TaskScheduler;
44
using System;
55
using Windows.Graphics.Printing3D;
6+
using System.Runtime.CompilerServices;
67

78
namespace TimeControl.Tools
89
{
@@ -24,7 +25,7 @@ public static void AddBoot()
2425
IExecAction action=
2526
(IExecAction)taskDefinition.Actions.Create
2627
(_TASK_ACTION_TYPE.TASK_ACTION_EXEC);
27-
action.Path=Environment.CurrentDirectory + "\\TimeControlConsole.exe";
28+
action.Path=AppDomain.CurrentDomain.BaseDirectory + "\\TimeControlConsole.exe";
2829
//设置
2930
taskDefinition.Settings.ExecutionTimeLimit = "PT0S";
3031
taskDefinition.Settings.DisallowStartIfOnBatteries = false;

TimeControl/Tools/TimeControlFile.cs

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Windows.Forms;
66
using System.Xml.Serialization;
77
using TimeControl.AppControl;
8+
using TimeControl.Data;
89

910
namespace TimeControl.Tools
1011
{
@@ -24,8 +25,10 @@ public static class TimeControlFile
2425
public static readonly string TempTimeFile = BaseLocation + "\\Temp.txt";
2526
//自动关机
2627
public static readonly string ShutdownSpan = BaseLocation + "\\Shutdown.txt";
28+
//数据显示
29+
public static readonly string SavedData = BaseLocation + "\\SavedData.xml";
2730

28-
public static void SaveToXML(List<App> apps)
31+
public static void SaveApps(List<App> apps)
2932
{
3033
DirectoryInfo directoryInfo = new DirectoryInfo(TimeFileDirectory);
3134
FileInfo[] files = directoryInfo.GetFiles();
@@ -47,10 +50,10 @@ public static void SaveToXML(List<App> apps)
4750
}
4851
}
4952

50-
public static List<App> ReadFromXML()
53+
public static List<App> ReadApps()
5154
{
5255
List<App> apps = new();
53-
FileInfo latestFile = GetLatestXMLFile();
56+
FileInfo latestFile = GetLatestAppsFile();
5457
using (StreamReader sr = new StreamReader(latestFile.FullName))
5558
{
5659
XmlSerializer xmlSerializer = new(typeof(List<AppInformation>));
@@ -65,8 +68,8 @@ public static List<App> ReadFromXML()
6568
MessageBoxButtons.OKCancel, MessageBoxIcon.Error) == DialogResult.OK)
6669
{
6770
sr.Close();
68-
File.Delete(GetLatestXMLFile().FullName);
69-
Process.Start(Environment.CurrentDirectory + "\\TimeControl.exe");
71+
File.Delete(GetLatestAppsFile().FullName);
72+
Process.Start(AppDomain.CurrentDomain.BaseDirectory + "\\TimeControl.exe");
7073
Environment.Exit(2);
7174
}
7275
}
@@ -81,7 +84,7 @@ public static List<App> ReadFromXML()
8184
return apps;
8285
}
8386

84-
public static FileInfo GetLatestXMLFile()
87+
public static FileInfo GetLatestAppsFile()
8588
{
8689
DirectoryInfo directory = new DirectoryInfo(TimeFileDirectory);
8790
FileInfo latestFile = directory.GetFiles("*.xml")[0];
@@ -95,5 +98,22 @@ public static FileInfo GetLatestXMLFile()
9598
}
9699
return latestFile;
97100
}
101+
102+
public static void SaveTimeData(TimeData time)
103+
{
104+
using (StreamWriter sw=new(SavedData))
105+
{
106+
XmlSerializer xmlSerializer = new(typeof(TimeData));
107+
xmlSerializer.Serialize(sw, time);
108+
}
109+
}
110+
public static TimeData ReadTimeData()
111+
{
112+
using (StreamReader sr=new(SavedData))
113+
{
114+
XmlSerializer xmlSerializer = new(typeof(TimeData));
115+
return (TimeData)xmlSerializer.Deserialize(sr);
116+
}
117+
}
98118
}
99119
}

0 commit comments

Comments
 (0)