-
Notifications
You must be signed in to change notification settings - Fork 1
/
Form1.cs
120 lines (104 loc) · 3.91 KB
/
Form1.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
using System.Globalization;
using System.Windows.Input;
namespace Working
{
public partial class Form1 : Form
{
public static IniConfig config; //配置文件
public static DateTime startTime;
public static DateTime endTime;
public Form1()
{
InitializeComponent();
// 判断配置文件是否存在
config = new IniConfig(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "config.ini");
if (!config.FileExist())
{
config.WriteKey("auto_run", "true");
config.WriteKey("start_time", "0:00:00");
config.WriteKey("end_time", "23:59:59");
config.WriteKey("auto_mini", "true");
}
string autoRun = config.ReadKey("auto_run");
if (autoRun == "true")
{
timer1.Start();
label1.Text = "状态:已打开";
this.notifyIcon1.Icon = Properties.Resources.work_on;
}
startTime = DateTime.ParseExact(config.ReadKey("start_time"), "H:mm:ss", CultureInfo.InvariantCulture);
endTime = DateTime.ParseExact(config.ReadKey("end_time"), "H:mm:ss", CultureInfo.InvariantCulture);
dateTimePicker1.Value = startTime;
dateTimePicker2.Value = endTime;
string autoMini = config.ReadKey("auto_mini");
if (autoMini == "true")
{
// 将窗口最小化到托盘
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
}
}
private void button1_Click(object sender, EventArgs e)
{
bool enabled = timer1.Enabled;
if (enabled)
{
// 打开状态,关闭
timer1.Stop();
label1.Text = "状态:已关闭";
config.WriteKey("auto_run", "false");
this.notifyIcon1.Icon = Properties.Resources.work_off;
}
else
{
// 关闭状态,打开
timer1.Start();
label1.Text = "状态:已打开";
config.WriteKey("auto_run", "true");
this.notifyIcon1.Icon = Properties.Resources.work_on;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
DateTime currentTime = DateTime.Now;
if (currentTime.TimeOfDay >= startTime.TimeOfDay && currentTime.TimeOfDay <= endTime.TimeOfDay)
{
// 重复一次恢复按键状态
wake_up();
wake_up();
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
this.Hide();
e.Cancel = true;
}
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.WindowState = FormWindowState.Normal;
this.ShowInTaskbar = true;
this.Show();
this.Activate();
}
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.notifyIcon1.Visible = false;
Environment.Exit(Environment.ExitCode);
}
private void dateTimePicker1_TextChanged(object sender, EventArgs e)
{
startTime = DateTime.ParseExact(dateTimePicker1.Text, "H:mm:ss", CultureInfo.InvariantCulture);
config.WriteKey("start_time", startTime.ToLongTimeString());
label1.Focus();
}
private void dateTimePicker2_TextChanged(object sender, EventArgs e)
{
endTime = DateTime.ParseExact(dateTimePicker2.Text, "H:mm:ss", CultureInfo.InvariantCulture);
config.WriteKey("end_time", endTime.ToLongTimeString());
label1.Focus();
}
}
}