修复重复设置中间监听

This commit is contained in:
liufei
2022-01-07 20:01:11 +08:00
parent e9dbc3e5b9
commit 9f60f1be63
3 changed files with 8 additions and 9 deletions

View File

@@ -41,7 +41,7 @@
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4"> <hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
<CheckBox Content="鼠标中间呼出" Checked="MouseMiddle_Changed" Unchecked="MouseMiddle_Changed" IsChecked="{Binding MouseMiddleShow}"> <CheckBox Content="鼠标中间呼出" Click="MouseMiddle_Changed" IsChecked="{Binding MouseMiddleShow}">
<CheckBox.Background> <CheckBox.Background>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0"> <LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#FF9EA3A6"/> <GradientStop Color="#FF9EA3A6"/>
@@ -61,7 +61,7 @@
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4"> <hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
<CheckBox Content="贴边隐藏" IsChecked="{Binding MarginHide}" Checked="MarginHide_Changed" Unchecked="MarginHide_Changed"> <CheckBox Content="贴边隐藏" IsChecked="{Binding MarginHide}" Click="MarginHide_Changed">
<CheckBox.Background> <CheckBox.Background>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0"> <LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#FF9EA3A6"/> <GradientStop Color="#FF9EA3A6"/>
@@ -71,7 +71,7 @@
</hc:UniformSpacingPanel> </hc:UniformSpacingPanel>
<hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4"> <hc:UniformSpacingPanel Spacing="10" Margin="10,5,0,0" Grid.ColumnSpan="4">
<CheckBox Content="主窗口动画效果" IsChecked="{Binding AppAnimation}" Checked="Animation_Checked"> <CheckBox Content="主窗口动画效果" IsChecked="{Binding AppAnimation}" Click="Animation_Checked">
<CheckBox.Background> <CheckBox.Background>
<LinearGradientBrush EndPoint="1,0" StartPoint="0,0"> <LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
<GradientStop Color="#FF9EA3A6"/> <GradientStop Color="#FF9EA3A6"/>

View File

@@ -253,13 +253,10 @@ namespace GeekDesk.Control.UserControls.Config
{ {
if (appConfig.MarginHide) if (appConfig.MarginHide)
{ {
MainWindow.hide.TimerSet(); MarginHide.StartHide();
} else } else
{ {
if (MainWindow.hide.timer != null) MarginHide.StopHide();
{
MainWindow.hide.TimerStop();
}
} }
} }

View File

@@ -24,6 +24,7 @@ namespace GeekDesk.Thread
public static void MiddleHook() public static void MiddleHook()
{ {
//使用dispatcher来单独监听UI线程 防止程序卡顿 //使用dispatcher来单独监听UI线程 防止程序卡顿
if (dispatcher != null) return;
dispatcher = DispatcherBuild.Build(); dispatcher = DispatcherBuild.Build();
m_GlobalHook = Hook.GlobalEvents(); m_GlobalHook = Hook.GlobalEvents();
dispatcher.Invoke((Action)(() => dispatcher.Invoke((Action)(() =>
@@ -38,6 +39,7 @@ namespace GeekDesk.Thread
{ {
m_GlobalHook.MouseDownExt -= M_GlobalHook_MouseDownExt; m_GlobalHook.MouseDownExt -= M_GlobalHook_MouseDownExt;
m_GlobalHook.Dispose(); m_GlobalHook.Dispose();
m_GlobalHook = null;
dispatcher.InvokeShutdown(); dispatcher.InvokeShutdown();
dispatcher = null; dispatcher = null;
} }
@@ -60,7 +62,7 @@ namespace GeekDesk.Thread
{ {
if (MainWindow.mainWindow.Visibility == Visibility.Collapsed if (MainWindow.mainWindow.Visibility == Visibility.Collapsed
|| MainWindow.mainWindow.Opacity == 0 || MainWindow.mainWindow.Opacity == 0
|| MarginHide.isHide) || MarginHide.IS_HIDE)
{ {
MainWindow.ShowApp(); MainWindow.ShowApp();
} }