Skip to content

Commit fa1100d

Browse files
committed
由锁定服务释放密码屏幕
1 parent e89fae3 commit fa1100d

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

src/ComputerLock/Services/GlobalLockService.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,11 @@ private void WindowsLock()
9393
}
9494
else
9595
{
96-
_logger.Write("系统 -> Windows 系统锁定,程序解锁");
97-
Unlock();
96+
if (IsLocked)
97+
{
98+
_logger.Write("系统 -> Windows 系统锁定,程序解锁");
99+
Unlock();
100+
}
98101
}
99102
}
100103

@@ -266,8 +269,7 @@ public void UpdateAutoLockSettings()
266269
private void _screenLockService_OnUnlock(object? sender, EventArgs e)
267270
{
268271
_screenLockService!.OnUnlock -= _screenLockService_OnUnlock;
269-
SystemUnlock();
270-
IsLocked = false;
272+
Unlock();
271273
}
272274

273275
/// <summary>

src/ComputerLock/Services/PasswordScreenLockService.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,10 @@ public override bool Lock(bool showAnimation)
6464
}
6565

6666
public override void Unlock()
67-
{
68-
// 密码解锁时,没有显式调用解锁方法,而是通过事件触发解锁
69-
}
70-
71-
private void FmLockScreen_OnUnlock(object? sender, EventArgs e)
7267
{
7368
logger.Write("密码屏幕锁定 -> 功能屏幕准备解锁");
69+
_windowLockScreen!.Close();
70+
7471
foreach (var screen in _blankScreens)
7572
{
7673
logger.Write("密码屏幕锁定 -> 释放空白屏幕资源");
@@ -84,7 +81,10 @@ private void FmLockScreen_OnUnlock(object? sender, EventArgs e)
8481
logger.Write("密码屏幕锁定 -> 解锁动画");
8582
ShowPopup(lang["UnLocked"]);
8683
}
84+
}
8785

86+
private void FmLockScreen_OnUnlock(object? sender, EventArgs e)
87+
{
8888
logger.Write("密码屏幕锁定 -> 通知解锁");
8989
OnUnlock?.Invoke(this, EventArgs.Empty);
9090
}

src/ComputerLock/WindowLockScreen.xaml.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,6 @@ private void TxtPassword_PasswordChanged(object sender, RoutedEventArgs e)
148148
}
149149
_logger.Write("功能屏幕 -> 密码正确,通知解锁");
150150
OnUnlock?.Invoke(this, EventArgs.Empty);
151-
this.Close();
152151
}
153152

154153
private void TxtPassword_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)

0 commit comments

Comments
 (0)