diff --git a/ClickShow/Properties/AssemblyInfo.cs b/ClickShow/Properties/AssemblyInfo.cs
index 09c82e2..3148e76 100644
--- a/ClickShow/Properties/AssemblyInfo.cs
+++ b/ClickShow/Properties/AssemblyInfo.cs
@@ -51,5 +51,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.4.0.0")]
-[assembly: AssemblyFileVersion("1.4.0.0")]
+[assembly: AssemblyVersion("1.4.1.0")]
+[assembly: AssemblyFileVersion("1.4.1.0")]
diff --git a/ClickShow/Settings/AppSetting.cs b/ClickShow/Settings/AppSetting.cs
index 72b9588..2287aeb 100644
--- a/ClickShow/Settings/AppSetting.cs
+++ b/ClickShow/Settings/AppSetting.cs
@@ -114,5 +114,10 @@ protected virtual void OnPropertyChanged([CallerMemberName] string propertyName
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
+
+ ///
+ /// 上次提醒的最新版本,避免重复提醒。
+ ///
+ public string LastNotifiedVersion { get; set; }
}
}
diff --git a/ClickShow/UI/ClickIndicator.xaml.cs b/ClickShow/UI/ClickIndicator.xaml.cs
index d8c7bb8..6314641 100644
--- a/ClickShow/UI/ClickIndicator.xaml.cs
+++ b/ClickShow/UI/ClickIndicator.xaml.cs
@@ -34,7 +34,7 @@ public ClickIndicator(double size)
this.Width = size;
this.Height = size;
- //SourceInitialized += OnSourceInitialized;
+ SourceInitialized += OnSourceInitialized;
DpiChanged += OnDpiChanged;
RenderOptions.SetBitmapScalingMode(TheCircle, BitmapScalingMode.LowQuality);
diff --git a/ClickShow/UI/MainWindow.xaml b/ClickShow/UI/MainWindow.xaml
index 01b5494..3462dc8 100644
--- a/ClickShow/UI/MainWindow.xaml
+++ b/ClickShow/UI/MainWindow.xaml
@@ -60,8 +60,11 @@
- 反馈与更新 / Homepage
+ 反馈与更新 / Homepage
+
+
+
diff --git a/ClickShow/UI/MainWindow.xaml.cs b/ClickShow/UI/MainWindow.xaml.cs
index 2f3f523..3f1f3a9 100644
--- a/ClickShow/UI/MainWindow.xaml.cs
+++ b/ClickShow/UI/MainWindow.xaml.cs
@@ -4,8 +4,10 @@
using System.Diagnostics;
using System.IO;
using System.Linq;
+using System.Net;
using System.Reflection;
using System.Runtime.InteropServices;
+using System.Threading.Tasks;
using System.Windows;
using System.Windows.Forms;
using System.Windows.Interop;
@@ -96,6 +98,85 @@ private void OnLoaded(object sender, RoutedEventArgs e)
_mouseHook.MouseMove += MouseHookOnMouseMove;
_mouseHook.MouseUp += MouseHookOnMouseUp;
_mouseHook.Start();
+
+ // 检查版本更新
+ Task.Run(async () =>
+ {
+ await Task.Delay(1000 * 10 );
+ CheckUpdate();
+ });
+
+ }
+
+ public Version NewVersion { get; set; }
+
+ ///
+ /// 检查版本更新
+ ///
+ private void CheckUpdate()
+ {
+ // 版本号检查网址
+ string url = "https://helperservice.getquicker.cn/clickshow/version";
+ string updateUrl = "https://github.com/cuiliang/ClickShow/releases";
+
+ try
+ {
+ var client = new WebClient();
+
+ // 下载版本信息字符串。可能格式:(1)只有版本号。 (2)版本号|网址
+ var versionStr = client.DownloadString(url);
+
+ if (versionStr.Contains("|"))
+ {
+ string[] parts = versionStr.Split('|');
+ NewVersion = new Version(parts[0]);
+ updateUrl = String.IsNullOrEmpty(parts[1]) ? updateUrl : parts[1];
+ }
+ else
+ {
+ NewVersion = new Version(versionStr);
+ }
+
+
+
+
+ // 版本落后了
+ if (NewVersion > Assembly.GetExecutingAssembly().GetName().Version)
+ {
+ // 如果之前已经提示了此版本,则不再提示,不然每次开机都会有一个提示了。
+ if (String.Equals(AppSetting.LastNotifiedVersion, versionStr))
+ {
+ Dispatcher.InvokeAsync(() =>
+ {
+ LblNewVersion.Visibility = Visibility.Visible;
+
+ });
+ }
+ else
+ {
+ AppSetting.LastNotifiedVersion = versionStr;
+ SaveSettings();
+
+ if (MessageBox.Show($"ClickShow有新版本({versionStr}),是否立即打开网页?", "ClickShow", MessageBoxButton.YesNo, MessageBoxImage.Information) != MessageBoxResult.Yes)
+ {
+ return;
+ }
+ try
+ {
+ Process.Start(updateUrl);
+ }
+ catch
+ {
+ MessageBox.Show($"无法打开网址:{updateUrl}");
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ // ignore error
+ }
+
}
///
diff --git a/README.md b/README.md
index 9ed1feb..500d5a0 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,6 @@
- 支持跟随鼠标的位置指示圆标;
- 支持多屏DPI感知;
- 支持开机自启动;
-- 绿色单文件;
下载地址:https://github.com/cuiliang/ClickShow/releases
@@ -20,17 +19,26 @@
# 使用
- 系统需求:Windows7 sp1+, .Net 4.7.2 版本(win10自带)
-- 如需在任务管理器、开始菜单、以管理员身份启动的窗口上生效,请将程序(1.3.1+版本)放到C:\Windows或C:\Program Files目录下使用。这时候程序会自动提升权限。
+- 如需在任务管理器、开始菜单、以管理员身份启动的窗口上生效,请将程序(1.3.1+版本)放到 `C:\Windows` 或 `C:\Program Files` 目录下使用。这时候程序会自动提升权限。
- 程序启动后自动缩小到系统托盘。
-- 点击托盘图标打开主窗口。
-- 点击X关闭主窗口退出程序;也可以在托盘图标右键菜单退出程序。
+- 点击X最小化到系统托盘。
+- 点击托盘图标打开主窗口,右键点击托盘图标打开菜单。
-
+
+
## 更新历史
+
+### 1.4.1
+- 修复鼠标穿透问题。
+- 启动后检查版本更新。
+
+### 1.4.0
+- 增加参数设置与自动保存。感谢 @BigDevil82 贡献代码。
+
### 1.3.3
- 按下时的波纹效果避开中心一点。
diff --git a/version.txt b/version.txt
new file mode 100644
index 0000000..7594264
--- /dev/null
+++ b/version.txt
@@ -0,0 +1 @@
+1.4.1.0