实例介绍
【实例简介】一套不错的 可供学习的源码
部分用户提示 签名失败时:右键项目>>签名>>ClickOnce中 点击“创建测试证书”即可正常使用
【实例截图】
任务栏 托盘处的功能截图如下:
快速搜索功能如下:
手动截图相关
【核心代码】
public partial class MainForm : Form { #region 系统定义 //private Socket udpCommClient;//命令字socket client //private Socket udpMsgClient;//文本消息socket client //private Socket udpFileClient;//文件传输socket client private Socket udpCommServer;//命令字socket server private Socket udpMsgServer;//文本消息socket server private Socket udpFileServer;//文件传输 socket server public List<FormBrowser> listFormBrowser = new List<FormBrowser>(); private FormBrowser fb = new FormBrowser("",EnumSearchEngine.END_NULL);//浏览器控件 private FormHelp fh = null;//帮助窗口 private FormBrowserContainer fbc = new FormBrowserContainer();//浏览器窗口容器 private FormEyeGuard feyeGuard = new FormEyeGuard();//护眼模式设置 private Point WebFormStartPosition = new Point(); private Point MainFormStartPosition = new Point(); private string exeName = null;//程序的进程名 private bool flagFormDocked = false;//是否靠边 private bool flagFormShow = true;//是否显示 private bool flagFormExpand = false;//是否展开搜索引擎选择 private bool flagGlobalHotKeySet = false;//全局快捷键是否注册成功 private bool flagEyeGuardOpen = false;//护眼模式开启标志 private const int WIN_S = 100;// private const int CTL_ALT_A = 101;//截屏 private const int CTL_ALT_SHIFT_X = 102;//关机 private const int CTL_ALT_SHIFT_S = 103;//休眠 private const int CTL_ALT_SHIFT_R = 104;//重启 private const int WIN_F12 = 105;//老板键 private const int MAIN_FORM_DOCK_X = -545; private const int PORT_COMM = 3520; private const int PORT_MSG = PORT_COMM 1; private const int PORT_FILE = PORT_COMM 2; private const string DISPLAY_NAME = "桌面在线"; private Size FB_Normal_Size = new Size(1000, 434); private EnumSearchEngine enumCurrentSE = new EnumSearchEngine();//当前的搜索引擎,自动记忆上次使用的习惯,改变搜索按钮的行为 //private FileStream fswUserInput=null;//用户输入文件流,写模式 //private FileStream fsrUserInput = null;//用户输入文件流,读模式 //private StreamWriter swUserInput = null;//用户输入写文件 //private StreamReader srUserInput = null;//用户输入读文件 private BackgroundWorker bwInit = new BackgroundWorker(); #endregion #region 软件启动 //构造函数 public MainForm() { FuncLib.CheckSingleThread(); InitializeComponent(); exeName = Process.GetCurrentProcess().ProcessName; Rectangle rt = Screen.PrimaryScreen.WorkingArea; int formwidth = this.Width; int formheight = this.Height; int startx = Convert.ToInt32(((float)rt.Width - (float)this.Width) / 2.0f); int starty = Convert.ToInt32((float)rt.Height * 2.0f / 3.0); MainFormStartPosition = new Point(startx, starty); frmToDock(); enumCurrentSE = EnumSearchEngine.GOOGLE_WEB; //注册委托事件 FormBrowser.FormBrowserClosed = new FormBrowserClosedHandler(FormBrowser_HandleBackFormBrowserClosed); FormBrowser.FormBrowserNewWindow =new FormBrowserNewWindowHandler(FormBrowser_FormBrowserNewWindow); FormConfig.SetGlobalKey =new GlobleKeySetHandler(FormConfig_SetGlobalKey); FormBrowserContainer.TabAllClosed =new TabAllClosedHandler(FormBrowserContainer_TabAllClosed); FormBrowserContainer.FormSizeChanged =new FormSizeChangedHandler(FormBrowserContainer_FormSizeChanged); FormEyeGuard.EventEyeGuard =new HandleEyeGuard(FormEyeGuard_EventEyeGuard); bwInit = new BackgroundWorker(); bwInit.DoWork = new DoWorkEventHandler(bwInit_DoWork); bwInit.RunWorkerAsync();//执行耗时操作,避免界面无响应 } //系统加载事件 private void MainForm_Load(object sender, EventArgs e) { int startx = MainFormStartPosition.X - Convert.ToInt32(((float)fbc.Width - (float)this.Width) / 2.0f); int starty = MainFormStartPosition.Y - fbc.Height; WebFormStartPosition.X = startx; WebFormStartPosition.Y = starty; MainFormCollapsed(); try { //fswUserInput = new FileStream("UserInput.log", FileMode.Open, FileAccess.Write); //fsrUserInput = new FileStream("UserInput.log", FileMode.Open, FileAccess.Read); //swUserInput = new StreamWriter(fswUserInput); //srUserInput = new StreamReader(fsrUserInput); flagGlobalHotKeySet = HotKey.RegisterHotKey(this.Handle, WIN_S, HotKey.KeyModifiers.WindowsKey, Keys.S); flagGlobalHotKeySet=HotKey.RegisterHotKey(this.Handle, CTL_ALT_A, HotKey.KeyModifiers.Alt | HotKey.KeyModifiers.Ctrl, Keys.A); flagGlobalHotKeySet = HotKey.RegisterHotKey(this.Handle, CTL_ALT_SHIFT_S, HotKey.KeyModifiers.Shift| HotKey.KeyModifiers.Alt | HotKey.KeyModifiers.Ctrl, Keys.S); flagGlobalHotKeySet = HotKey.RegisterHotKey(this.Handle, CTL_ALT_SHIFT_X, HotKey.KeyModifiers.Shift|HotKey.KeyModifiers.Alt | HotKey.KeyModifiers.Ctrl, Keys.X); flagGlobalHotKeySet = HotKey.RegisterHotKey(this.Handle, CTL_ALT_SHIFT_R, HotKey.KeyModifiers.Shift | HotKey.KeyModifiers.Alt | HotKey.KeyModifiers.Ctrl, Keys.R); flagGlobalHotKeySet = HotKey.RegisterHotKey(this.Handle, WIN_F12, HotKey.KeyModifiers.WindowsKey, Keys.F12); if (!flagGlobalHotKeySet) { throw new Exception("注册全局快捷键失败!"); } } catch (Exception ex) { MessageBox.Show(ex.Message, "出错了"); } } //启动时后台运行的程序 private void bwInit_DoWork(object sender, DoWorkEventArgs e) { //... 创建目录、读取文件、生成快捷方式 //创建应用程序配置目录 string dirAppData = Environment.SpecialFolder.ApplicationData.ToString(); if (Directory.Exists(dirAppData)) { } //开机启动及生成桌面快捷方式 if (FuncLib.CheckStartUPSet()) { //创建快捷方式s FuncLib.CreateDesktopLnk(DISPLAY_NAME); toolStripMenuItemStartUp.Checked = true; } ////加入系统启动项 //if (FuncLib.SetStartUp(true, exeName)) //{ // toolStripMenuItemStartUp.Checked = true; //} } #endregion #region 网络通信 private void InitUdpCommServer() { udpCommServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint ipeComm = new IPEndPoint(IPAddress.Any, PORT_COMM); udpCommServer.Bind(ipeComm); ThreadPool.QueueUserWorkItem(this.HandleUdpComm, ipeComm); } private void InitUdpMsgServer() { udpMsgServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint ipeMsg = new IPEndPoint(IPAddress.Any, PORT_COMM); udpMsgServer.Bind(ipeMsg); ThreadPool.QueueUserWorkItem(this.HandleUdpMsg, ipeMsg); } private void InitUdpFileServer() { udpFileServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPEndPoint ipeFile = new IPEndPoint(IPAddress.Any, PORT_COMM); udpFileServer.Bind(ipeFile); ThreadPool.QueueUserWorkItem(this.HandleUdpFile, ipeFile); } private void HandleUdpComm(object state) { } private void HandleUdpMsg(object state) { } private void HandleUdpFile(object state) { } #endregion #region 界面相关 private void SearchInNewWindow(EnumSearchEngine enumSE) { if (fbc==null||fbc.Visible==false) { fbc = new FormBrowserContainer(); fbc.StartPosition = FormStartPosition.Manual; fbc.Location = new Point(WebFormStartPosition.X, WebFormStartPosition.Y); fbc.ShowInTaskbar = false; fbc.Show(); } fbc.BringToFront(); fb = new FormBrowser(tbSearch.Text, enumSE); fb.Dock = DockStyle.Fill; //将搜索文本存入文件流 //swUserInput.WriteLine(DateTime.Now.ToString("yy-MM-dd_HH:mm:ss" " " fb.searchstr)); //fb.enumSE = enumSE; fbc.AddNewTab(fb); listFormBrowser.Add(fb); } private void ShowHelpForm(int type) { fh = new FormHelp(); fh.ShowInTaskbar = false; fh.ShowIcon = false; switch (type) { case 0: { fh.StartPosition = FormStartPosition.Manual; fh.Location = new Point(this.Location.X - (fh.Width / 2 - this.Width / 2), this.Location.Y - fh.Height); fh.Show(); } break; case 1: { fh.StartPosition = FormStartPosition.CenterScreen; fh.Location = new Point(this.Location.X - (fh.Width / 2 - this.Width / 2), this.Location.Y - fh.Height); fh.Show(); } break; } } private void MainFormExpand() { this.Size = new Size(584, 64); flagFormExpand = true; this.Refresh(); } private void MainFormCollapsed() { this.Size = new Size(584, 40); flagFormExpand = false; this.Refresh(); } private void ShowMainForm() { this.Visible = true; toolStripMenuItemDisplay.Text = "隐藏界面"; flagFormShow = true; } private void HideMainForm() { this.Visible = false; toolStripMenuItemDisplay.Text = "显示界面"; flagFormShow = false; } private void frmToMiddle() { //...动画效果 this.Location = MainFormStartPosition; //FormEffect.Swift(this); flagFormDocked = false; if (fbc != null) { //fbc.Visible = true; fbc.BringToFront(); } this.BringToFront(); this.Activate(); this.Visible = true; tbSearch.Focus(); } private void frmToDock() { //...动画效果 this.Location = new Point(MAIN_FORM_DOCK_X, MainFormStartPosition.Y); flagFormDocked = true; ckbDock.Checked = true; if (fbc != null) { //fbc.Visible = false; fbc.SendToBack(); } if (!flagFormShow) { this.Visible = false; } //收起搜索引擎设置界面 if (flagFormExpand) { flagFormExpand = false; MainFormCollapsed(); ckbShowSE.Checked = false; } } #endregion #region 右键菜单 //退出程序 private void toolStripMenuItemQuit_Click(object sender, EventArgs e) { if (MessageBox.Show("确定退出本软件?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) Application.Exit(); } //显示隐藏 private void toolStripMenuItemDisplay_Click(object sender, EventArgs e) { if (flagFormShow) { HideMainForm(); } else { ShowMainForm(); } } //帮助窗口 private void toolStripMenuItemHelp_Click(object sender, EventArgs e) { if (flagFormDocked) { ShowHelpForm(1); } else { ShowHelpForm(0); } } //开机启动 private void toolStripMenuItemStartUp_Click(object sender, EventArgs e) { if (toolStripMenuItemStartUp.Checked)//设置开机不启动 { if (FuncLib.SetStartUp(false, exeName)) { MessageBox.Show("取消开机启动成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); toolStripMenuItemStartUp.Checked = false; } else { MessageBox.Show("取消开机启动失败","提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else//设置开机启动 { if (FuncLib.CheckStartUPSet()) { MessageBox.Show("设置开机启动成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); toolStripMenuItemStartUp.Checked = true; } else { MessageBox.Show("设置开机启动失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } //生成快捷方式 private void toolStripMenuItemShortCut_Click(object sender, EventArgs e) { if (FuncLib.CreateDesktopLnk(DISPLAY_NAME)) { MessageBox.Show("创建快捷方式到桌面成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } else { MessageBox.Show("创建快捷方式到桌面失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } //护眼模式控制 private void tmiEyeGuard_Click(object sender, EventArgs e) { if (flagEyeGuardOpen) { feyeGuard.StopEyeGuard(); flagEyeGuardOpen = false; tmiEyeGuard.Text = "开启护眼"; prbEyeGuardInterval.Visible = false; return; } feyeGuard.flagEyeGuard = false; if(feyeGuard.ShowDialog() == System.Windows.Forms.DialogResult.Yes) { prbEyeGuardInterval.Maximum = feyeGuard.nRestInterval; prbEyeGuardInterval.Visible = true; tmiEyeGuard.Text = "停止护眼"; flagEyeGuardOpen = true; } } //系统设置 private void tmiSystemSet_Click(object sender, EventArgs e) { FormConfig fc = new FormConfig(); fc.StartPosition = FormStartPosition.CenterScreen; fc.ShowDialog(this); } //截屏 private void tmiCaptrueScreen_Click(object sender, EventArgs e) { CaptureScreen(); } //系统关机 private void tmiSystemShutDown_Click(object sender, EventArgs e) { if(MessageBox.Show("确定关闭计算机?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)== System.Windows.Forms.DialogResult.OK) WindowsController.ExitWindows(RestartOptions.ShutDown, true); } //系统重启 private void tmiSystemRestart_Click(object sender, EventArgs e) { if (MessageBox.Show("确定重启计算机?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) WindowsController.ExitWindows(RestartOptions.Reboot, true); } //系统注销 private void tmiSystemLogoff_Click(object sender, EventArgs e) { if (MessageBox.Show("确定注销计算机?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) WindowsController.ExitWindows(RestartOptions.LogOff, true); } //系统休眠 private void tmiSystemHibernate_Click(object sender, EventArgs e) { //if (MessageBox.Show("确定休眠计算机?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) WindowsController.ExitWindows(RestartOptions.Hibernate, true); } //系统睡眠/挂起 private void tmiSystemSleep_Click(object sender, EventArgs e) { if (MessageBox.Show("确定挂起计算机?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK) WindowsController.ExitWindows(RestartOptions.Suspend, true); } //闹钟设置 private void tmiAlarmClockSet_Click(object sender, EventArgs e) { FormAlarmClockSet fac = new FormAlarmClockSet(); fac.StartPosition = FormStartPosition.CenterScreen; fac.ShowDialog(); } #endregion #region 事件集合 private void MainForm_Click(object sender, EventArgs e) { if (Control.ModifierKeys == Keys.Alt) { if (cdgMainForm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.BackColor = cdgMainForm.Color; } } } private void MainForm_MouseEnter(object sender, EventArgs e) { if (fbc != null) { fbc.BringToFront(); fbc.Focus(); } } private void MainForm_MouseDown(object sender, MouseEventArgs e) { if (Control.ModifierKeys == Keys.Control) { FuncLib.StartDrag(this.Handle); } } private void ckbDock_CheckedChanged(object sender, EventArgs e) { if (!ckbDock.Checked) { frmToDock(); } } private void MainForm_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; SolidBrush sb1 = new SolidBrush(Color.LightGray); SolidBrush sb2 = new SolidBrush(Color.Gray); Pen p1 = new Pen(sb1); Pen p2= new Pen(sb2); g.DrawRectangle(p2, 0, 0, this.Width - 1, this.Height - 1); g.DrawLine(p1, 0, 0, this.Width - 1, 0); g.DrawLine(p1,0,0,0,this.Height-1); //g.DrawLine(p2,this.Width-1,0,this.Width-1,this.Height-1); sb1.Dispose(); sb2.Dispose(); p1.Dispose(); p2.Dispose(); g.Dispose(); } private void FormBrowserContainer_TabAllClosed(object sender) { fbc.Close(); fbc = null; } private void FormConfig_SetGlobalKey(object sender) { if (flagGlobalHotKeySet) { MessageBox.Show("全局快捷键Win S已经注册成功", "信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { flagGlobalHotKeySet = HotKey.RegisterHotKey(Handle, WIN_S, HotKey.KeyModifiers.WindowsKey, Keys.S); if (!flagGlobalHotKeySet) { MessageBox.Show("注册全局快捷键Win S失败", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } private void FormBrowser_HandleBackFormBrowserMaximized(FormWindowState fws) { switch (fws) { case FormWindowState.Maximized: //将主搜索框停靠 if (!flagFormDocked) { frmToDock(); } break; case FormWindowState.Normal: if (flagFormDocked) { frmToMiddle(); } break; } } //收到某个浏览器窗体关闭事件 private void FormBrowser_HandleBackFormBrowserClosed(object sender) { FormBrowser fb=sender as FormBrowser; //int index = GetFormBrowserIndex(fb); //listFormBrowser.RemoveAt(index); listFormBrowser.Remove(fb); } private int GetFormBrowserIndex(FormBrowser fb) { return listFormBrowser.FindIndex(delegate(FormBrowser ent) { return ent.Equals(fb); }); } private void rdb_CheckedChanged(object sender, EventArgs e) { if (rdbGoogleWeb.Checked) { enumCurrentSE = EnumSearchEngine.GOOGLE_WEB; //lbSEType.Text = "谷歌"; } else if (rdbBaiduWeb.Checked) { enumCurrentSE = EnumSearchEngine.BAIDU_WEB; //lbSEType.Text="百度"; } else if (rdbBaiduBaike.Checked) { enumCurrentSE = EnumSearchEngine.BAIDU_BAIKE; //lbSEType.Text = "百科"; } else if (rdbBaiduZhiDao.Checked) { enumCurrentSE = EnumSearchEngine.BAIDU_ZHIDAO; //lbSEType.Text = "知道"; } else if (rdbBaiduMusic.Checked) { enumCurrentSE = EnumSearchEngine.BAIDU_MUSIC; //lbSEType.Text = "音乐"; } else if (rdbBaiduApp.Checked) { enumCurrentSE = EnumSearchEngine.BAIDU_APP; //lbSEType.Text = "应用"; } else if (rdbIcon.Checked) { enumCurrentSE = EnumSearchEngine.ICON_EASY; //lbSEType.Text = "图标"; } else if (rdbBaiduWenKu.Checked) { enumCurrentSE = EnumSearchEngine.BAIDU_WENKU; //lbSEType.Text = "文库"; } else if (rdbBaiduMap.Checked) { enumCurrentSE = EnumSearchEngine.BAIDU_MAP; //lbSEType.Text = "地图"; } else if (rdbFanyi.Checked) { enumCurrentSE = EnumSearchEngine.GOOGLE_FANYI; } } private void ckbShowSE_CheckedChanged(object sender, EventArgs e) { if (ckbShowSE.Checked) { MainFormExpand(); } else { MainFormCollapsed(); } } private void ntiMain_DoubleClick(object sender, EventArgs e) { if (flagFormDocked) { frmToMiddle(); } else { frmToDock(); } } protected override void WndProc(ref Message m) { const int WM_HOTKEY = 0x0312; switch (m.Msg) { case WM_HOTKEY: switch (m.WParam.ToInt32()) { case 100://win s this.Visible = true; if (flagFormDocked) { frmToMiddle(); } else { if (listFormBrowser.Count > 0 || tbSearch.Focused == false)//已经打开子窗口,让主窗口重新聚焦 { if (fbc != null) { fbc.BringToFront(); fbc.Activate(); } this.BringToFront(); this.Activate(); tbSearch.Focus(); } else { frmToDock(); } } break; case CTL_ALT_A://ctrl alt a 截屏 { CaptureScreen(); } break; case CTL_ALT_SHIFT_X: { tmiSystemShutDown_Click(null, null); } break; case CTL_ALT_SHIFT_S: { tmiSystemHibernate_Click(null, null); } break; case CTL_ALT_SHIFT_R: { tmiSystemRestart_Click(null,null); } break; case WIN_F12: { SetWindowBlack(); } break; } break; } base.WndProc(ref m); } private void tbSearch_DoubleClick(object sender, EventArgs e) { tbSearch.SelectAll(); } private void fb_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawRectangle(new Pen(new SolidBrush(Color.Black)), 0, 0, 119, 94); } private void tbSearch_KeyUp(object sender, KeyEventArgs e) { if (!e.Shift && !e.Control && !e.Alt) { switch (e.KeyCode) { case Keys.Enter: //MessageBox.Show("按下enter"); break; } } } private void btnSearch_Click(object sender, EventArgs e) { if (Control.ModifierKeys == Keys.Shift)//恢复默认图标 { btnSearch.Image = global::DeskTopOnline.Properties.Resources.search_16; return; } if (Control.ModifierKeys == Keys.Alt)//更换图标 { //if (ofdChangeIcon.ShowDialog() == System.Windows.Forms.DialogResult.OK)//更换图标 //{ // try // { // //将图标拷贝到配置目录中去 // //替换图标 // Bitmap img = new Bitmap(ofdChangeIcon.FileName); // //img.SetResolution(16f, 16f); // //btnSearch.Image = Image.FromFile(ofdChangeIcon.FileName); // btnSearch.Image = img; // } // catch(Exception ex) // { // MessageBox.Show(ex.Message,"异常"); // } //} FormPortraitGenerator fpg = new FormPortraitGenerator(); if (flagFormDocked) { fpg.StartPosition = FormStartPosition.CenterScreen; } else { fpg.StartPosition = FormStartPosition.Manual; fpg.Location = new Point(this.Location.X - (fpg.Width / 2 - this.Width / 2), this.Location.Y - fpg.Height); } if (fpg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { btnSearch.Image = fpg.GeneratedImg; fpg.Close(); } } else { if (flagFormDocked)//缩进状态先弹出来 { frmToMiddle(); } else { if (tbSearch.Text.Trim(' ') == "") { tbSearch.Text = ""; frmToDock(); return; } if (FuncLib.IsURL(tbSearch.Text) || FuncLib.IsURL(@"http://" tbSearch.Text)) { enumCurrentSE = EnumSearchEngine.OPEN_URL; } SearchInNewWindow(enumCurrentSE); } } } //private void MainForm_KeyDown(object sender, KeyEventArgs e) //{ // //ctrl组合键 // if (e.Control && !e.Shift && !e.Alt) // { // switch (e.KeyCode) // { // case Keys.Enter://使用google搜索 // //lbSEType.Text = "谷歌"; // enumCurrentSE = EnumSearchEngine.GOOGLE_WEB; // break; // //case Keys.Enter://使用百度搜索 // // if (tbSearch.Text == "") // // return; // // SearchInNewWindow(EnumSearchEngine.BAIDU_WEB); // // break; // case Keys.I: // //lbSEType.Text = "图标"; // enumCurrentSE = EnumSearchEngine.ICON_EASY; // break; // } // } // //alt组合键 // if (e.Alt && !e.Shift && !e.Control) // { // switch (e.KeyCode) // { // case Keys.Enter: // //lbSEType.Text = "百度"; // enumCurrentSE = EnumSearchEngine.BAIDU_WEB; // break; // } // } // //shift 组合键 // if (e.Shift && !e.Control && !e.Alt) // { // switch (e.KeyCode) // { // case Keys.Enter: // //lbSEType.Text = "知道"; // enumCurrentSE = EnumSearchEngine.BAIDU_ZHIDAO; // break; // } // } // //ctrl shift组合键 // if (e.Control && e.Shift && !e.Alt) // { // switch (e.KeyCode) // { // case Keys.Enter: // //lbSEType.Text = "百科"; // enumCurrentSE = EnumSearchEngine.BAIDU_BAIKE; // break; // } // } // //ctrl alt组合键 // if (e.Control && e.Alt && !e.Shift) // { // switch (e.KeyCode) // { // case Keys.Enter: // //lbSEType.Text = "音乐"; // enumCurrentSE = EnumSearchEngine.BAIDU_MUSIC; // break; // } // } // //alt shift组合键 // if (e.Alt && e.Shift && !e.Control) // { // switch (e.KeyCode) // { // case Keys.Enter: // //lbSEType.Text = "文库"; // enumCurrentSE = EnumSearchEngine.BAIDU_WENKU; // break; // } // } // //ctrl alt shift组合键 // if (e.Control && e.Alt && e.Shift) // { // switch (e.KeyCode) // { // case Keys.Enter: // //lbSEType.Text = "地图"; // enumCurrentSE = EnumSearchEngine.BAIDU_MAP; // break; // } // } //} private void MainForm_KeyUp(object sender, KeyEventArgs e) { //未按下组合键 if ((e.Shift | e.Control | e.Alt) != true) { switch (e.KeyCode) { case Keys.Escape://原Escape收起改为Win S收起 //this.Close(); //this.Location = new Point(btnSearch.Location.X-this.Location.X,this.Location.Y); frmToDock(); break; case Keys.Enter://Enter键开始搜索 //if (!tbSearch.Focused) //{ btnSearch_Click(null, null); //} break; case Keys.F1: toolStripMenuItemHelp_Click(null,null); break; //case Keys.Enter: // if (tbSearch.Text == "") // return; // SearchInNewWindow(EnumSearchEngine.GOOGLE_WEB); // break; } } //ctrl组合键 if (e.Control && !e.Shift && !e.Alt) { switch (e.KeyCode) { case Keys.A: tbSearch.SelectAll(); break; case Keys.W: if (listFormBrowser.Count >= 1) { listFormBrowser[listFormBrowser.Count - 1].Dispose();//关闭最后一个窗体 } break; case Keys.S: ckbShowSE.Checked = !ckbShowSE.Checked; break; case Keys.Enter://使用google搜索 if (tbSearch.Text == "") return; SearchInNewWindow(EnumSearchEngine.GOOGLE_WEB); SetSEChoice(EnumSearchEngine.GOOGLE_WEB); break; //case Keys.Enter://使用百度搜索 // if (tbSearch.Text == "") // return; // SearchInNewWindow(EnumSearchEngine.BAIDU_WEB); // break; case Keys.Back: tbSearch.Clear(); break; case Keys.I: if (tbSearch.Text == "") return; SearchInNewWindow(EnumSearchEngine.ICON_EASY); SetSEChoice(EnumSearchEngine.ICON_EASY); break; } } //alt组合键 if (e.Alt && !e.Shift && !e.Control) { switch (e.KeyCode) { case Keys.Enter: if (tbSearch.Text == "") return; SearchInNewWindow(EnumSearchEngine.BAIDU_WEB); SetSEChoice(EnumSearchEngine.BAIDU_WEB); break; } } //shift 组合键 if (e.Shift && !e.Control && !e.Alt) { switch (e.KeyCode) { case Keys.Enter: if (tbSearch.Text == "") return; SearchInNewWindow(EnumSearchEngine.BAIDU_ZHIDAO); SetSEChoice(EnumSearchEngine.BAIDU_ZHIDAO); break; } } //ctrl shift组合键 if (e.Control && e.Shift && !e.Alt) { switch (e.KeyCode) { case Keys.Enter: if (tbSearch.Text == "") return; SearchInNewWindow(EnumSearchEngine.BAIDU_BAIKE); SetSEChoice(EnumSearchEngine.BAIDU_BAIKE); break; case Keys.W: if (fbc != null) { fbc.Close(); } listFormBrowser.Clear(); break; } } //ctrl alt组合键 if (e.Control && e.Alt && !e.Shift) { switch (e.KeyCode) { case Keys.Enter: if (tbSearch.Text == "") return; SearchInNewWindow(EnumSearchEngine.BAIDU_MUSIC); SetSEChoice(EnumSearchEngine.BAIDU_MUSIC); break; } } //alt shift组合键 if (e.Alt && e.Shift && !e.Control) { switch (e.KeyCode) { case Keys.Enter: if (tbSearch.Text == "") return; SearchInNewWindow(EnumSearchEngine.BAIDU_WENKU); SetSEChoice(EnumSearchEngine.BAIDU_WENKU); break; } } //ctrl alt shift组合键 if (e.Control && e.Alt && e.Shift) { switch (e.KeyCode) { case Keys.Enter: if (tbSearch.Text == "") return; SearchInNewWindow(EnumSearchEngine.BAIDU_MAP); SetSEChoice(EnumSearchEngine.BAIDU_MAP); break; } } } private void FormEyeGuard_EventEyeGuard(int n) { prbEyeGuardInterval.Invoke(new EventHandler(delegate { prbEyeGuardInterval.Value = n; if (n < 60) { FormEffect.Blink(this); } })); } private void FormBrowserContainer_FormSizeChanged(FormWindowState fws) { if (fws == FormWindowState.Maximized) { this.Visible = false; } else { this.Visible = true; } } private void FormBrowser_FormBrowserNewWindow(string url) { fb = new FormBrowser(url, EnumSearchEngine.OPEN_URL); fb.Dock = DockStyle.Fill; //将搜索文本存入文件流 //swUserInput.WriteLine(DateTime.Now.ToString("yy-MM-dd_HH:mm:ss" " " fb.searchstr)); //fb.enumSE = enumSE; fbc.AddNewTab(fb); listFormBrowser.Add(fb); } #endregion #region 功能函数 //黑屏 private void SetWindowBlack() { FormRestScreen fmRest = new FormRestScreen(); fmRest.TotalRestTime = 5; fmRest.ShowDialog(); } //截屏 private void CaptureScreen() { if (flagFormShow) { this.Hide(); } Thread.Sleep(20); CaptureImageTool cit = new CaptureImageTool(); cit.ShowDialog(); if (flagFormShow) { this.Show(); } } //设置搜索引擎 private void SetSEChoice(EnumSearchEngine ese) { switch (ese) { case EnumSearchEngine.GOOGLE_WEB: rdbGoogleWeb.Checked = true; break; case EnumSearchEngine.BAIDU_WEB: rdbBaiduWeb.Checked = true; break; case EnumSearchEngine.BAIDU_ZHIDAO: rdbBaiduZhiDao.Checked = true; break; case EnumSearchEngine.BAIDU_BAIKE: rdbBaiduBaike.Checked = true; break; case EnumSearchEngine.BAIDU_WENKU: rdbBaiduWenKu.Checked = true; break; case EnumSearchEngine.BAIDU_MUSIC: rdbBaiduMusic.Checked = true; break; case EnumSearchEngine.BAIDU_MAP: rdbBaiduMap.Checked = true; break; case EnumSearchEngine.BAIDU_APP: rdbBaiduApp.Checked = true; break; case EnumSearchEngine.ICON_EASY: rdbIcon.Checked = true; break; case EnumSearchEngine.LOCAL_FILE: rdbFanyi.Checked = true; break; } } //获取搜索引擎 private EnumSearchEngine GetSEChoice() { EnumSearchEngine ese = new EnumSearchEngine(); if (rdbGoogleWeb.Checked) { ese = EnumSearchEngine.GOOGLE_WEB; } else if (rdbBaiduWeb.Checked) { ese = EnumSearchEngine.BAIDU_WEB; } else if (rdbBaiduZhiDao.Checked) { ese = EnumSearchEngine.BAIDU_ZHIDAO; } else if (rdbBaiduBaike.Checked) { ese = EnumSearchEngine.BAIDU_BAIKE; } else if (rdbBaiduMap.Checked) { ese = EnumSearchEngine.BAIDU_MAP; } else if (rdbFanyi.Checked) { ese = EnumSearchEngine.LOCAL_FILE; } else if (rdbBaiduMusic.Checked) { ese = EnumSearchEngine.BAIDU_MUSIC; } return ese; } #endregion #region 资源释放 private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { HotKey.UnregisterHotKey(this.Handle, WIN_S); HotKey.UnregisterHotKey(this.Handle,CTL_ALT_A); HotKey.UnregisterHotKey(this.Handle,CTL_ALT_SHIFT_S); HotKey.UnregisterHotKey(this.Handle,CTL_ALT_SHIFT_X); HotKey.UnregisterHotKey(this.Handle,CTL_ALT_SHIFT_R); HotKey.UnregisterHotKey(this.Handle,WIN_F12); } #endregion }
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论