|
|
-
- using AppTime.Properties;
- using Microsoft.Win32;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Data.OleDb;
- using System.Diagnostics;
- using System.Drawing;
- using System.Drawing.Imaging;
- using System.IO;
- using System.Linq;
- using System.Runtime.InteropServices;
- using System.Security.AccessControl;
- using System.Text;
- using System.Web.ModelBinding;
- using System.Web.UI.WebControls;
- using System.Windows.Forms;
-
- namespace AppTime
- {
- public partial class FrmMain : Form
- {
-
- const string appname = "AppTime";
- const string regkey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
-
- public FrmMain()
- {
- InitializeComponent();
-
- }
-
- private void FrmMain_Load(object sender, EventArgs e)
- {
-
- cboRecordScreen.DataSource = new[] {
- new {Text="最近30天", Value=30},
- new {Text="最近15天", Value=15},
- new {Text="无限制", Value=int.MaxValue},
- new {Text="不留存", Value=0},
- };
- cboRecordScreen.DisplayMember = "Text";
- cboRecordScreen.ValueMember = "Value";
-
- cboImageQuality.DataSource = new[] {
- new {Text="最省磁盘", Value=63},
- new {Text="均衡", Value=50},
- new {Text="高质量", Value=40},
- };
- cboImageQuality.DisplayMember = "Text";
- cboImageQuality.ValueMember = "Value";
- }
-
- private void btnOpen_Click(object sender, EventArgs e)
- {
- Process.Start($@"http://localhost:{Program.Port}/");
- }
-
- private void notifyIcon_DoubleClick(object sender, EventArgs e)
- {
- btnOpen_Click(null, null);
- }
-
- private void btnCancel_Click(object sender, EventArgs e)
- {
- this.Hide();
- }
-
- bool cancelClose = true;
- private void btnExit_Click(object sender, EventArgs e)
- {
- this.Hide();
- cancelClose = false;
- Program.recorder.FlushScreenBuffer();
- this.Close();
- }
-
- private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
- {
- this.Hide();
- e.Cancel = cancelClose;
- }
-
- private void btnOK_Click(object sender, EventArgs e)
- {
- try
- {
- Directory.CreateDirectory(txtDataPath.Text);
- Settings.Default.DataPath = txtDataPath.Text == Application.StartupPath ? "" : txtDataPath.Text;
-
- Program.recorder.BuildDataPath();
- }
- catch
- {
- MessageBox.Show("数据存储位置无效,请重新选择。");
- }
- Settings.Default.ImageQuality = (int) cboImageQuality.SelectedValue;
- Settings.Default.RecordScreenDays = (int)cboRecordScreen.SelectedValue;
- Settings.Default.Save();
-
- using var reg = Registry.CurrentUser.CreateSubKey(regkey);
- try
- {
- if (chkAutoRun.Checked)
- {
- reg.SetValue(appname, Application.ExecutablePath);
- }
- else
- {
- reg.DeleteValue(appname);
- }
- }
- catch (UnauthorizedAccessException)
- {
- MessageBox.Show("设置启动失败,请检查:\r\n\r\n1、关闭杀毒软件(如360等);\r\n2、以管理员身份运行本程序。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
-
- this.Hide();
- }
-
- private void FrmMain_Shown(object sender, EventArgs e)
- {
- this.Hide();
- }
-
- private void btnSetting_Click(object sender, EventArgs e)
- {
- if (!this.Visible)
- {
- if (string.IsNullOrEmpty(Settings.Default.DataPath))
- {
- txtDataPath.Text = Application.StartupPath;
- }
- else
- {
- txtDataPath.Text = Settings.Default.DataPath;
- }
- cboRecordScreen.SelectedValue = Settings.Default.RecordScreenDays;
- cboImageQuality.SelectedValue = Settings.Default.ImageQuality;
-
- using var reg = Registry.CurrentUser.CreateSubKey(regkey);
- chkAutoRun.Checked = (reg.GetValue(appname) as string) == Application.ExecutablePath;
-
- this.Show();
- }
- }
-
- private void btnAbout_Click(object sender, EventArgs e)
- {
- MessageBox.Show($"AppTime桌面时间管理\r\nV{Application.ProductVersion}\r\n\r\n联系作者:newdraw@hotmail.com", "关于", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
-
- private void btnDataPath_Click(object sender, EventArgs e)
- {
- using var dlg = new FolderBrowserDialog();
- if(dlg.ShowDialog()== DialogResult.OK)
- {
- txtDataPath.Text = dlg.SelectedPath;
- }
- }
-
- }
- }
|