Skip to content

Commit e46ea95

Browse files
修改设置后自动静默重启以应用设置和释放内存
1 parent ed983da commit e46ea95

8 files changed

Lines changed: 120 additions & 60 deletions

File tree

MFAScreenLock/MFAScreenLockApp/Form1.Designer.cs

Lines changed: 49 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MFAScreenLock/MFAScreenLockApp/Form1.cs

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,22 @@ private void Form1_Load(object sender, EventArgs e)
3131
}));
3232
版本ToolStripMenuItem.Text = "版本:" + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
3333
string programname = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
34-
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(programname);//获取指定的进程名
35-
Thread.Sleep(500);
36-
if (myProcesses.Length > 1) //如果可以获取到知道的进程名则说明已经启动
34+
System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(programname);//获取指定的进程名
35+
wallPaperBmp = ShareClass.gWallPaperBmp();
36+
args = Environment.GetCommandLineArgs();
37+
if (loadConfig() && myProcesses.Length > 1) //如果可以获取到知道的进程名则说明已经启动
3738
{
3839
MessageBox.Show("程序已经启动,请查看任务栏中的图标。\n在图标上点击右键可以打开菜单。\n如果不需要验证后驻留后台,请添加 -e 参数。","程序已在运行",MessageBoxButtons.OK,MessageBoxIcon.Error);
3940
notifyIcon1.Visible = false;
4041
Application.Exit();
4142
}
42-
43-
wallPaperBmp = ShareClass.gWallPaperBmp();
44-
args = Environment.GetCommandLineArgs();
45-
loadConfig();
4643
if (Settings.Default.Timeout >= 60)
4744
{
4845
timer_lock.Enabled = true;
4946
}
5047
}
5148

52-
private void loadConfig()
49+
private bool loadConfig()
5350
{
5451
if (args.Length > 2 && args[1] == "-r" && args[2] == Settings.Default.RecoveryCode)
5552
{
@@ -84,11 +81,17 @@ private void loadConfig()
8481
}
8582
formuser.ws = 0;
8683
timer_lock.Enabled = true;
84+
}
85+
else if (args.Length > 1 && args[1] == "--restart")
86+
{
87+
8788
}
8889
else
8990
{
9091
locknow();
92+
return true;
9193
}
94+
return false;
9295
}
9396

9497
private void locknow()
@@ -166,17 +169,25 @@ private void openconfig(Int16 tabindex = 0)
166169
lockallscreen(true, wallPaperBmp);
167170
timer_lock.Enabled = false;
168171
FormLock formlock = new FormLock();
169-
formlock.lbl_info.Text = "正在修改绑定设置";
172+
formlock.lbl_info.Text = "正在修改设置";
170173
formlock.setBackgroundImage(wallPaperBmp);
171174
formlock.ShowDialog();
172175
lockallscreen(false, wallPaperBmp);
173176
if (formlock.ws == 1)
174177
{
175178
timer_lock.Enabled = false;
176179
FormUser formuser = new FormUser();
177-
formuser.tabControl1.SelectedIndex = tabindex;
178-
formuser.ShowDialog();
180+
if (tabindex == 2)
181+
{
182+
formuser.displayPreview = true;
183+
}
184+
else
185+
{
186+
formuser.tabControl1.SelectedIndex = tabindex;
187+
}
179188
formuser.ws = 0;
189+
formuser.ShowDialog();
190+
Restart("--restart");
180191
}
181192
timer_lock.Enabled = true;
182193
formlock.ws = 0;
@@ -207,10 +218,12 @@ private void 退出EToolStripMenuItem_Click(object sender, EventArgs e)
207218
timer_lock.Enabled = true;
208219
}
209220

210-
private void Restart()
221+
private void Restart(string arguments = "")
211222
{
223+
notifyIcon1.Visible = false;
212224
Process ps = new Process();
213225
ps.StartInfo.FileName = Application.ExecutablePath.ToString();
226+
ps.StartInfo.Arguments = arguments;
214227
ps.Start();
215228
Application.Exit();
216229
}
@@ -243,5 +256,10 @@ private void 帮助和关于HToolStripMenuItem_Click(object sender, EventArgs e)
243256
System.Diagnostics.Process.Start("https://github.com/kagurazakayashi/MFAScreenLock");
244257
}
245258
}
259+
260+
private void 个性化ToolStripMenuItem_Click(object sender, EventArgs e)
261+
{
262+
openconfig(2);
263+
}
246264
}
247265
}

MFAScreenLock/MFAScreenLockApp/FormLock.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@ public FormLock()
3535
//tableLayoutPanel2.BackColor = Color.FromArgb(0, tableLayoutPanel2.BackColor);
3636
}
3737

38+
protected override CreateParams CreateParams
39+
{
40+
get
41+
{
42+
CreateParams paras = base.CreateParams;
43+
paras.ExStyle |= 0x02000000;
44+
return paras;
45+
}
46+
}
47+
3848
public void setBackgroundImage(Bitmap wallPaperBmp)
3949
{
4050
this.wallPaperBmp = wallPaperBmp;

MFAScreenLock/MFAScreenLockApp/FormUser.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public partial class FormUser : Form
2020
private int selectFontItem = -1;
2121
private bool loadOK = false;
2222
public int ws = 0;
23+
public bool displayPreview = false;
2324

2425
public FormUser()
2526
{
@@ -91,10 +92,11 @@ private void btn_bind_Click(object sender, EventArgs e)
9192
btn_bind.Enabled = true;
9293
}
9394

94-
private void Restart()
95+
private void Restart(string arguments = "")
9596
{
9697
Process ps = new Process();
9798
ps.StartInfo.FileName = Application.ExecutablePath.ToString();
99+
ps.StartInfo.Arguments = arguments;
98100
ps.Start();
99101
Application.Exit();
100102
}
@@ -173,7 +175,7 @@ private void autoStart(bool isAuto)
173175
}
174176
catch (Exception)
175177
{
176-
MessageBox.Show("请将本程序退出,然后右键选择「以管理员方式运行」,再修改此设置。", "访问被拒绝",MessageBoxButtons.OK,MessageBoxIcon.Error);
178+
MessageBox.Show("请将本程序退出,然后右键选择「以管理员方式运行」,再修改此设置。", "访问被拒绝", MessageBoxButtons.OK, MessageBoxIcon.Error);
177179
}
178180
}
179181

@@ -184,6 +186,11 @@ private void checkBox1_CheckedChanged(object sender, EventArgs e)
184186

185187
private void timer1_Tick(object sender, EventArgs e)
186188
{
189+
if (displayPreview)
190+
{
191+
tabControl1.SelectedIndex = 2;
192+
displayPreview = false;
193+
}
187194
double idles = SysLink.GetIdleTime();
188195
lbl_timeout.Text = (idles / 1000.0).ToString();
189196
if (idles <= prog_timeout.Maximum)

MFAScreenLock/MFAScreenLockApp/MFAScreenLockApp.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@
233233
</ItemGroup>
234234
<ItemGroup>
235235
<Content Include="icon0.ico" />
236+
<None Include="Resources\baseline_brush_black_24dp.png" />
236237
<None Include="Resources\ic_settings_2x.png" />
237238
</ItemGroup>
238239
<ItemGroup>

MFAScreenLock/MFAScreenLockApp/Properties/Resources.Designer.cs

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MFAScreenLock/MFAScreenLockApp/Properties/Resources.resx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -124,21 +124,24 @@
124124
<data name="ic_assignment_ind_2x" type="System.Resources.ResXFileRef, System.Windows.Forms">
125125
<value>..\Resources\ic_assignment_ind_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
126126
</data>
127+
<data name="ic_perm_identity_2x" type="System.Resources.ResXFileRef, System.Windows.Forms">
128+
<value>..\Resources\ic_perm_identity_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
129+
</data>
127130
<data name="ic_account_circle_black_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
128131
<value>..\Resources\ic_account_circle_black_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
129132
</data>
133+
<data name="icon0-128px" type="System.Resources.ResXFileRef, System.Windows.Forms">
134+
<value>..\Resources\icon0-128px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
135+
</data>
136+
<data name="ic_settings_2x" type="System.Resources.ResXFileRef, System.Windows.Forms">
137+
<value>..\Resources\ic_settings_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
138+
</data>
130139
<data name="ic_account_circle_white_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
131140
<value>..\Resources\ic_account_circle_white_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
132141
</data>
133142
<data name="ic_account_circle_white_2x" type="System.Resources.ResXFileRef, System.Windows.Forms">
134143
<value>..\Resources\ic_account_circle_white_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
135144
</data>
136-
<data name="icon0-128px" type="System.Resources.ResXFileRef, System.Windows.Forms">
137-
<value>..\Resources\icon0-128px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
138-
</data>
139-
<data name="ic_perm_identity_2x" type="System.Resources.ResXFileRef, System.Windows.Forms">
140-
<value>..\Resources\ic_perm_identity_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
141-
</data>
142145
<data name="ic_blur_on_2x" type="System.Resources.ResXFileRef, System.Windows.Forms">
143146
<value>..\Resources\ic_blur_on_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
144147
</data>
@@ -148,7 +151,7 @@
148151
<data name="ic_close_2x" type="System.Resources.ResXFileRef, System.Windows.Forms">
149152
<value>..\Resources\ic_close_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
150153
</data>
151-
<data name="ic_settings_2x" type="System.Resources.ResXFileRef, System.Windows.Forms">
152-
<value>..\Resources\ic_settings_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
154+
<data name="baseline_brush_black_24dp" type="System.Resources.ResXFileRef, System.Windows.Forms">
155+
<value>..\Resources\baseline_brush_black_24dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
153156
</data>
154157
</root>
295 Bytes
Loading

0 commit comments

Comments
 (0)