diff --git a/MFAScreenLock/ImageControl/Properties/AssemblyInfo.cs b/MFAScreenLock/ImageControl/Properties/AssemblyInfo.cs index d7239e7..bf0c62d 100644 --- a/MFAScreenLock/ImageControl/Properties/AssemblyInfo.cs +++ b/MFAScreenLock/ImageControl/Properties/AssemblyInfo.cs @@ -5,13 +5,13 @@ // 有关程序集的一般信息由以下 // 控制。更改这些特性值可修改 // 与程序集关联的信息。 -[assembly: AssemblyTitle("雅诗动态密码锁定工具")] +[assembly: AssemblyTitle("NyarukoMFALock")] [assembly: AssemblyDescription("图片处理工具")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("神楽坂雅詩")] [assembly: AssemblyProduct("设备锁定器4")] -[assembly: AssemblyCopyright("Copyright © 2021")] -[assembly: AssemblyTrademark("https://github.com/kagurazakayashi/MFAScreenLock/blob/master/LICENSE")] +[assembly: AssemblyCopyright("https://github.com/kagurazakayashi/MFAScreenLock/blob/master/LICENSE")] +[assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // 将 ComVisible 设置为 false 会使此程序集中的类型 @@ -32,5 +32,5 @@ //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //通过使用 "*",如下所示: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("4.3.0.0")] -[assembly: AssemblyFileVersion("4.3.0.0")] +[assembly: AssemblyVersion("4.5.0.0")] +[assembly: AssemblyFileVersion("4.5.0.0")] diff --git a/MFAScreenLock/MFAScreenLockApp/About.Designer.cs b/MFAScreenLock/MFAScreenLockApp/About.Designer.cs index a1ce077..77144e8 100644 --- a/MFAScreenLock/MFAScreenLockApp/About.Designer.cs +++ b/MFAScreenLock/MFAScreenLockApp/About.Designer.cs @@ -66,15 +66,15 @@ private void InitializeComponent() this.label1.Font = new System.Drawing.Font("微软雅黑", 26.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.label1.Location = new System.Drawing.Point(146, 12); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(240, 46); + this.label1.Size = new System.Drawing.Size(317, 46); this.label1.TabIndex = 1; - this.label1.Text = "NyarukoMFA"; + this.label1.Text = "NyarukoMFALock"; // // lbl_var // this.lbl_var.AutoSize = true; this.lbl_var.BackColor = System.Drawing.Color.Transparent; - this.lbl_var.Location = new System.Drawing.Point(392, 38); + this.lbl_var.Location = new System.Drawing.Point(469, 38); this.lbl_var.Name = "lbl_var"; this.lbl_var.Size = new System.Drawing.Size(37, 20); this.lbl_var.TabIndex = 2; @@ -223,7 +223,7 @@ private void InitializeComponent() this.MinimizeBox = false; this.Name = "About"; this.Opacity = 0D; - this.Text = "关于 NyarukoMFA"; + this.Text = "关于 NyarukoMFALock"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.About_FormClosing); this.Load += new System.EventHandler(this.About_Load); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); diff --git a/MFAScreenLock/MFAScreenLockApp/About.cs b/MFAScreenLock/MFAScreenLockApp/About.cs index 7ce67b1..c33c933 100644 --- a/MFAScreenLock/MFAScreenLockApp/About.cs +++ b/MFAScreenLock/MFAScreenLockApp/About.cs @@ -62,20 +62,21 @@ private void About_Load(object sender, EventArgs e) formLockSubList.Add("系统内存: " + Environment.SystemPageSize.ToString()); formLockSubList.Add("启动模式: " + SystemInformation.BootMode.ToString()); formLockSubList.Add("系统目录: " + Environment.SystemDirectory); - formLockSubList.Add("主显示器分辨率: " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Width.ToString() + " x " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Height.ToString() + " (当前 " + SystemInformation.PrimaryMonitorSize.Width.ToString() + " x " + SystemInformation.PrimaryMonitorSize.Height.ToString() + " )"); + formLockSubList.Add("主显示器分辨率: " + SystemInformation.PrimaryMonitorSize.Width.ToString() + " x " + SystemInformation.PrimaryMonitorSize.Height.ToString() + " (可用区域 " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Width.ToString() + " x " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Height.ToString() + " )"); formLockSubList.Add("显示器 ( " + SystemInformation.MonitorCount.ToString() + " ):"); Screen[] screens = Screen.AllScreens; uint screenI = 1; foreach (Screen screen in screens) { Rectangle area = screen.WorkingArea; + Rectangle bound = screen.Bounds; FormLockSub locksub = new FormLockSub(); string primary = ""; if (screen.Primary) { primary = "(主显示器)"; } - formLockSubList.Add("显示器 " + (screenI++).ToString() + " " + primary + ": 位置 " + area.Top.ToString() + " , " + area.Left.ToString() + " 区域 " + area.Size.Width + " x " + area.Size.Height); + formLockSubList.Add("显示器 " + (screenI++).ToString() + " " + primary + ": 位置 " + bound.Top.ToString() + " , " + bound.Left.ToString() + " 区域位置 " + area.Top.ToString() + " , " + area.Left.ToString() + " 分辨率 " + bound.Size.Width.ToString() + " x " + bound.Size.Height.ToString() + " 区域 " + area.Size.Width.ToString() + " x " + area.Size.Height.ToString()); } foreach (string line in formLockSubList) { diff --git a/MFAScreenLock/MFAScreenLockApp/Form1.cs b/MFAScreenLock/MFAScreenLockApp/Form1.cs index fa9bd4f..0734d35 100644 --- a/MFAScreenLock/MFAScreenLockApp/Form1.cs +++ b/MFAScreenLock/MFAScreenLockApp/Form1.cs @@ -27,12 +27,12 @@ public Form1() private void Form1_Load(object sender, EventArgs e) { - this.BeginInvoke(new Action(() => { + BeginInvoke(new Action(() => { Hide(); })); 版本ToolStripMenuItem.Text = "版本:" + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); - string programname = System.Diagnostics.Process.GetCurrentProcess().ProcessName; - System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcessesByName(programname);//获取指定的进程名 + string programname = Process.GetCurrentProcess().ProcessName; + Process[] myProcesses = Process.GetProcessesByName(programname);//获取指定的进程名 wallPaperBmp = ShareClass.gWallPaperBmp(); args = Environment.GetCommandLineArgs(); if (loadConfig() && myProcesses.Length > 1) //如果可以获取到知道的进程名则说明已经启动 @@ -55,30 +55,37 @@ private bool loadConfig() if (result == DialogResult.Yes) { Settings.Default.Reset(); + Restart(); + return false; } - notifyIcon1.Visible = false; - Application.Exit(); } if (Settings.Default.MachineName == "") { timer_lock.Enabled = false; FormUser formuser = new FormUser(); - formuser.ShowDialog(); - if (formuser.ws == 1) + formuser.ws = 0; + bool bindMode = false; + if (Settings.Default.MachineName.Length == 0) { - notifyIcon1.Visible = false; - Application.Exit(); + bindMode = true; } - else + formuser.ShowDialog(); + if (!(bindMode && Settings.Default.MachineName.Length > 0)) { - if (args.Length > 1 && args[1] == "-e") + if (formuser.ws == 1) { notifyIcon1.Visible = false; Application.Exit(); } - this.BeginInvoke(new Action(() => { + else + { + if (args.Length > 1 && args[1] == "-e") + { + notifyIcon1.Visible = false; + Application.Exit(); + } Close(); - })); + } } formuser.ws = 0; timer_lock.Enabled = true; @@ -135,6 +142,7 @@ private void lockallscreen(bool islock = true, Bitmap wallPaperBmp = null) continue; } Rectangle area = screen.WorkingArea; + Rectangle bound = screen.Bounds; FormLockSub locksub = new FormLockSub(); locksub.Top = area.Top; locksub.Left = area.Left; @@ -142,7 +150,7 @@ private void lockallscreen(bool islock = true, Bitmap wallPaperBmp = null) locksub.WindowState = FormWindowState.Maximized; if (!screen.Primary) { - locksub.setBackgroundImage(wallPaperBmp, area.Size); + locksub.setBackgroundImage(wallPaperBmp, bound.Size); } formLockSubList.Add(locksub); } diff --git a/MFAScreenLock/MFAScreenLockApp/FormLock.cs b/MFAScreenLock/MFAScreenLockApp/FormLock.cs index 687855c..57d87d1 100644 --- a/MFAScreenLock/MFAScreenLockApp/FormLock.cs +++ b/MFAScreenLock/MFAScreenLockApp/FormLock.cs @@ -62,7 +62,7 @@ public void setBackgroundImage(Bitmap newWallPaperBmp) private void FormLock_Load(object sender, EventArgs e) { - if (Settings.Default.AccountSecretKey == "") + if (!previewMode && Settings.Default.AccountSecretKey == "") { ws = 1; aClose(); @@ -345,6 +345,7 @@ private void timer_err_Tick(object sender, EventArgs e) btn_enter.Text = "→"; timer_err.Enabled = false; pwdEnableNow = 0; + txt_pwdcode.Focus(); } else { diff --git a/MFAScreenLock/MFAScreenLockApp/FormUser.cs b/MFAScreenLock/MFAScreenLockApp/FormUser.cs index b8e942e..09fad16 100644 --- a/MFAScreenLock/MFAScreenLockApp/FormUser.cs +++ b/MFAScreenLock/MFAScreenLockApp/FormUser.cs @@ -222,7 +222,7 @@ private void showPreview() formlock.lbl_info.Text = formlock.Text; formlock.setBackgroundImage(ShareClass.gWallPaperBmp()); formlock.previewMode = true; - formlock.FormBorderStyle = FormBorderStyle.Fixed3D; + //formlock.FormBorderStyle = FormBorderStyle.Fixed3D; formlock.ControlBox = true; formlock.MaximizeBox = true; formlock.TopMost = false; diff --git a/MFAScreenLock/MFAScreenLockApp/LICENSE b/MFAScreenLock/MFAScreenLockApp/LICENSE deleted file mode 100644 index ed12d8b..0000000 --- a/MFAScreenLock/MFAScreenLockApp/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 神楽坂雅詩 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/MFAScreenLock/MFAScreenLockApp/MFAScreenLockApp.csproj b/MFAScreenLock/MFAScreenLockApp/MFAScreenLockApp.csproj index a5edb73..61ae243 100644 --- a/MFAScreenLock/MFAScreenLockApp/MFAScreenLockApp.csproj +++ b/MFAScreenLock/MFAScreenLockApp/MFAScreenLockApp.csproj @@ -27,12 +27,12 @@ true https://github.com/kagurazakayashi/MFAScreenLock https://github.com/kagurazakayashi/MFAScreenLock/issues - zh - 雅诗动态密码锁定工具 - 北京篝火网络科技有限公司 - 霄霄设备锁定器4 - 1 - 1.0.0.%2a + zh-Hans + NyarukoMFALock + 神楽坂雅詩 + 设备锁定器4 + 5 + 4.5.0.%2a false true true @@ -71,7 +71,7 @@ MFAScreenLockApp_TemporaryKey.pfx - false + true LocalIntranet @@ -186,9 +186,6 @@ True - - PreserveNewest - @@ -203,9 +200,6 @@ - - PreserveNewest - diff --git a/MFAScreenLock/MFAScreenLockApp/Properties/AssemblyInfo.cs b/MFAScreenLock/MFAScreenLockApp/Properties/AssemblyInfo.cs index c6ec411..69e94bf 100644 --- a/MFAScreenLock/MFAScreenLockApp/Properties/AssemblyInfo.cs +++ b/MFAScreenLock/MFAScreenLockApp/Properties/AssemblyInfo.cs @@ -6,8 +6,8 @@ // 有关程序集的一般信息由以下 // 控制。更改这些特性值可修改 // 与程序集关联的信息。 -[assembly: AssemblyTitle("雅诗动态密码锁定工具")] -[assembly: AssemblyDescription("使用谷歌验证器锁定电脑")] +[assembly: AssemblyTitle("NyarukoMFALock")] +[assembly: AssemblyDescription("雅诗动态密码锁定工具:使用谷歌验证器锁定电脑")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("神楽坂雅詩")] [assembly: AssemblyProduct("设备锁定器4")] diff --git a/MFAScreenLock/MFAScreenLockApp/README.md b/MFAScreenLock/MFAScreenLockApp/README.md deleted file mode 100644 index 258e428..0000000 --- a/MFAScreenLock/MFAScreenLockApp/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# MFAScreenLock -用谷歌验证器锁定 Windows 屏幕,防止远程桌面未授权访问。 - -## 安装 -- 依赖 - - `Windows ≥ 7 SP1 (x 86 和 x64)` - - `Windows Server ≥ 2008 R2 SP1 (x64)` - - `.NET Framework ≥ 4.7.1` -- 解压缩文件到用户文件夹中。 - - 如果你不主动进行文件权限配置,则强烈推荐解压缩到用户文件夹中,防止被其他用户访问到密码文件,建议使用 NTFS 自带加密功能加密设置存储文件。 -- 运行 `MFAScreenLockApp.exe` 。 - -## 配置 -- 直接运行,如果没有绑定过任何验证器,将出现设置画面。此时点击绑定按钮。 -- 确认显示的时间日期和时区与手机完全同步。 -- 使用 MFA APP 扫描二维码。 - - 也可以手工抄写右上方显示的密钥进验证器。 - - 注意:如果此计算机计算机名、用户域和同户名和其他计算机相同,其他计算机上的登录信息将被覆盖!如果出现此情况,请在扫码绑定之前修改你的计算机名称并重新启动计算机。 -- 输入验证器上显示的代码,点击完成绑定。 -- 记下屏幕上显示的恢复代码。 - - 点击「是」之后恢复代码将复制到剪贴板,一旦无法使用动态密码,可以使用此恢复代码进入。 - - 点击「否」将不产生恢复代码,虽然更安全,但是手机损坏、丢失、验证APP卸载、验证APP数据丢失等情况发生时,将会导致无法登入。 -- 绑定信息将会显示计算机名、用户域和同户名。 - - 注意:计算机名、用户域和同户名是绑定的,如果修改其中之一将会无法登入。如需修改,请先解绑验证器。 -- 点击完成按钮。 -- 在计划任务中将本程序进行开机启动。 - - 可以在启动参数中加入 `-e` ,程序将在解除锁定后立即退出(否则会驻留图标在状态栏),以便利用计划任务提供的闲置时长功能来进行自动锁定。 - - 例如:`MFAScreenLockApp.exe -e` - -## 使用 -- 下次运行本程序时,计算机画面将被锁定,此时请输入验证器中显示的动态密码,或者恢复代码。 - - 如果正确,将直接解锁,无需使用回车键。 - - 解锁画面显示的背景图像为你的首选显示器桌面壁纸。 - - 其他非首选显示器将显示空白桌面壁纸。 -- 解锁后,会驻留图标在状态栏,右键点击可弹出菜单,可以随时立即上锁、修改绑定,以及退出。 - - 这些菜单项在点击后,会重新进入一次密码输入状态,以验证是本人,之后才继续执行所选择的菜单命令。 - -## 解绑 -- 方法1:不加 `-e` 参数运行的情况下,输入密码或恢复代码解锁,在任务栏驻留的图标上点右键,选「绑定管理」,选择「解绑」,然后退出软件。 -- 方法2:在程序完全退出的情况下,带 `-r <恢复代码>` 参数启动程序,确认后可直接清除软件所有设置,包括密码。软件将自动退出。 - - 例如:`MFAScreenLockApp.exe -r Y8K2V-5J2ZL-F6QC8-ERFJ4-4HME8-POL50` \ No newline at end of file diff --git a/MFAScreenLock/SysLink/Properties/AssemblyInfo.cs b/MFAScreenLock/SysLink/Properties/AssemblyInfo.cs index a2645d2..c323822 100644 --- a/MFAScreenLock/SysLink/Properties/AssemblyInfo.cs +++ b/MFAScreenLock/SysLink/Properties/AssemblyInfo.cs @@ -5,7 +5,7 @@ // 有关程序集的一般信息由以下 // 控制。更改这些特性值可修改 // 与程序集关联的信息。 -[assembly: AssemblyTitle("雅诗动态密码锁定工具")] +[assembly: AssemblyTitle("NyarukoMFALock")] [assembly: AssemblyDescription("系统库连接工具")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("神楽坂雅詩")] @@ -32,5 +32,5 @@ //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 //通过使用 "*",如下所示: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("4.3.0.0")] -[assembly: AssemblyFileVersion("4.3.0.0")] +[assembly: AssemblyVersion("4.5.0.0")] +[assembly: AssemblyFileVersion("4.5.0.0")]