|
@@ -205,73 +205,86 @@ namespace Bellwether.Pages
|
|
|
}
|
|
|
|
|
|
int hiddenStage = 0;
|
|
|
- private void HiddeenButton_Click(object sender, MouseButtonEventArgs e)
|
|
|
+ Timer hiddenStageTimer;
|
|
|
+ private void HiddenButton_TouchDown(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- if(!(sender is Grid grid))
|
|
|
+ TryInitTimer();
|
|
|
+ //var touchPoints = e.GetIntermediateTouchPoints(this);
|
|
|
+
|
|
|
+ hiddenStage++;
|
|
|
+ if (hiddenStage == 1)
|
|
|
{
|
|
|
- return;
|
|
|
+ hiddenStageTimer.Start();
|
|
|
}
|
|
|
- var tag = grid.Tag as string;
|
|
|
- if (string.IsNullOrEmpty(tag))
|
|
|
+ if (hiddenStage == 2)
|
|
|
{
|
|
|
+ hiddenStageTimer.Stop();
|
|
|
hiddenStage = 0;
|
|
|
- return;
|
|
|
+ ExecuteExternal();
|
|
|
}
|
|
|
|
|
|
- if (hiddenStage == 0)
|
|
|
- {
|
|
|
- if (tag == "0")
|
|
|
- {
|
|
|
- hiddenStage++;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- hiddenStage = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- else if (hiddenStage == 1)
|
|
|
+ void TryInitTimer()
|
|
|
{
|
|
|
- if (tag == "0")
|
|
|
+ if (hiddenStageTimer != null)
|
|
|
{
|
|
|
- hiddenStage++;
|
|
|
+ return;
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
+
|
|
|
+ hiddenStageTimer = new Timer() { Interval = 100 };
|
|
|
+ hiddenStageTimer.Elapsed += (sender2, e2) => {
|
|
|
hiddenStage = 0;
|
|
|
- }
|
|
|
+ hiddenStageTimer.Stop();
|
|
|
+ };
|
|
|
}
|
|
|
- else if(hiddenStage == 2)
|
|
|
+
|
|
|
+ async void ExecuteExternal()
|
|
|
{
|
|
|
- if (tag == "1")
|
|
|
+ uxMediaViewer.Stop();
|
|
|
+ await Task.Delay(100);
|
|
|
+ try
|
|
|
{
|
|
|
- hiddenStage = 0;
|
|
|
- ExecuteExternal();
|
|
|
+ var p = Process.Start(Properties.Settings.Default.Screensaver);
|
|
|
+ p.WaitForExit();
|
|
|
}
|
|
|
- else
|
|
|
+ catch (Exception e2)
|
|
|
{
|
|
|
- hiddenStage = 0;
|
|
|
+ MessageBox.Show("螢幕保護程式啟動失敗,請確認程式存在且路徑非C:\\Windows\\System32");
|
|
|
}
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- hiddenStage = 0;
|
|
|
+ uxMediaViewer.Play();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private async void ExecuteExternal()
|
|
|
+ int hiddenStage2 = 0;
|
|
|
+ Timer hiddenStage2Timer;
|
|
|
+ private void HiddenButton2_TouchDown(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- uxMediaViewer.Stop();
|
|
|
- await Task.Delay(100);
|
|
|
- try
|
|
|
+ TryInitTimer();
|
|
|
+
|
|
|
+ hiddenStage2++;
|
|
|
+ if (hiddenStage2 == 1)
|
|
|
+ {
|
|
|
+ hiddenStage2Timer.Start();
|
|
|
+ }
|
|
|
+ if (hiddenStage2 == 2)
|
|
|
{
|
|
|
- var p = Process.Start(Properties.Settings.Default.Screensaver);
|
|
|
- p.WaitForExit();
|
|
|
+ hiddenStage2Timer.Stop();
|
|
|
+ hiddenStage2 = 0;
|
|
|
+ Application.Current.Shutdown();
|
|
|
}
|
|
|
- catch(Exception e)
|
|
|
+
|
|
|
+ void TryInitTimer()
|
|
|
{
|
|
|
- MessageBox.Show("螢幕保護程式啟動失敗,請確認程式存在且路徑非C:\\Windows\\System32");
|
|
|
+ if (hiddenStage2Timer != null)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ hiddenStage2Timer = new Timer() { Interval = 100 };
|
|
|
+ hiddenStage2Timer.Elapsed += (sender2, e2) => {
|
|
|
+ hiddenStage2 = 0;
|
|
|
+ hiddenStage2Timer.Stop();
|
|
|
+ };
|
|
|
}
|
|
|
- uxMediaViewer.Play();
|
|
|
}
|
|
|
}
|
|
|
|