麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

C#程序啟動項的設置方法

2019-10-29 19:41:23
字體:
來源:轉載
供稿:網友

本文為大家分享了C#程序啟動項的設置方法,供大家參考,具體內容如下

托盤圖標設置

新建一個NotifyIcon,會在托盤處顯示一個圖標。

NotifyIcon.Icon可以直接設置一個ico圖片,也可以延用原有程序的圖標。

notifyIcon.Icon = System.Drawing.Icon.ExtractAssociatedIcon(Application.ExecutablePath);

public partial class MainWindow : Window {  private NotifyIcon notifyIcon;  public MainWindow()  {   InitializeComponent();   SetNotifyIcon();   this.Hide();  }  #region NotifyIcon  private void SetNotifyIcon()  {   this.notifyIcon = new NotifyIcon();   this.notifyIcon.BalloonTipText = "磁盤清理工具";   this.notifyIcon.ShowBalloonTip(2000);   this.notifyIcon.Text = "磁盤清理工具:每20天清理一次";   this.notifyIcon.Icon = System.Drawing.Icon.ExtractAssociatedIcon(Application.ExecutablePath);   this.notifyIcon.Visible = true;   //打開菜單項   MenuItem open = new MenuItem("打開");   open.Click += new EventHandler(Show);   //退出菜單項   MenuItem exit = new MenuItem("退出");   exit.Click += new EventHandler(Close);   //關聯托盤控件   MenuItem[] childen = new MenuItem[] { open, exit };   notifyIcon.ContextMenu = new ContextMenu(childen);   this.notifyIcon.MouseDoubleClick += new MouseEventHandler((o, e) =>   {    if (e.Button == MouseButtons.Left) this.Show(o, e);   });  }  private void Show(object sender, EventArgs e)  {   this.Visibility = Visibility.Visible;   this.ShowInTaskbar = true;   this.Activate();  }  private void Hide(object sender, EventArgs e)  {   this.ShowInTaskbar = false;   this.Visibility = Visibility.Hidden;  }  private void Close(object sender, EventArgs e)  {   System.Windows.Application.Current.Shutdown();  }  #endregion  #region 窗口  private void MinimizeButton_OnClick(object sender, RoutedEventArgs e)  {   WindowState = WindowState.Minimized;  }  private void CloseButton_OnClick(object sender, RoutedEventArgs e)  {   this.Hide();  }  private void HeaderGrid_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)  {   if (e.ButtonState == MouseButtonState.Pressed)   {    this.DragMove();   }  }  #endregion }

禁用多進程啟動

//禁止雙進程 bool canCreateNew; using (System.Threading.Mutex m = new System.Threading.Mutex(true, System.Windows.Forms.Application.ProductName, out canCreateNew)) {  if (!canCreateNew)  {   this.Shutdown();  } }

刪除原有進程

/// <summary> /// 刪除原有進程 /// </summary> /// <param name="processName"></param> private void KillProcess(string processName) {  //得到所有打開的進程   try  {   Process currentProcess = Process.GetCurrentProcess();   var processes = Process.GetProcessesByName(processName).Where(process=> process.Id!=currentProcess.Id);   foreach (Process thisproc in processes)   {    //找到程序進程,kill之。    if (!thisproc.CloseMainWindow())    {     thisproc.Kill();    }   }  }  catch (Exception ex)  {      } }

設置開機自啟動

private void SetAppAutoRun(bool autoRun) {  if (autoRun) //設置開機自啟動   {   string path = System.Windows.Forms.Application.ExecutablePath;   RegistryKey rk = Registry.LocalMachine;   RegistryKey rk2 = rk.CreateSubKey(@"Software/Microsoft/Windows/CurrentVersion/Run");   rk2.SetValue("JcShutdown", path);   rk2.Close();   rk.Close();  }  else //取消開機自啟動   {   RegistryKey rk = Registry.LocalMachine;   RegistryKey rk2 = rk.CreateSubKey(@"Software/Microsoft/Windows/CurrentVersion/Run");   rk2.DeleteValue("JcShutdown", false);   rk2.Close();   rk.Close();  } }

App.cs中完整代碼:

public partial class App : Application {  public App()  {   //禁止雙進程   bool canCreateNew;   using (System.Threading.Mutex m = new System.Threading.Mutex(true, System.Windows.Forms.Application.ProductName, out canCreateNew))   {    if (!canCreateNew)    {     this.Shutdown();    }   }   SetAppAutoRun(true);   Startup += App_Startup;  }  private void SetAppAutoRun(bool autoRun)  {   if (autoRun) //設置開機自啟動    {    MessageBox.Show("設置開機自啟動,需要修改注冊表", "提示"); // hovertree.com    string path = System.Windows.Forms.Application.ExecutablePath;    RegistryKey rk = Registry.LocalMachine;    RegistryKey rk2 = rk.CreateSubKey(@"Software/Microsoft/Windows/CurrentVersion/Run");    rk2.SetValue("JcShutdown", path);    rk2.Close();    rk.Close();   }   else //取消開機自啟動    {    MessageBox.Show("取消開機自啟動,需要修改注冊表", "提示");    RegistryKey rk = Registry.LocalMachine;    RegistryKey rk2 = rk.CreateSubKey(@"Software/Microsoft/Windows/CurrentVersion/Run");    rk2.DeleteValue("JcShutdown", false);    rk2.Close();    rk.Close();   }  }  private void App_Startup(object sender, StartupEventArgs e)  {   new AutoCleanCacheHelper(CleanCacheVeiwModel.ViewModel).Start();  } }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久免费视频一区二区三区 | 久久精片 | 黄色免费高清网站 | 激情网站在线观看 | 爱高潮www亚洲精品 欧美黄色一级片视频 | 欧美精品在线免费观看 | 日韩av影片在线观看 | 爽爽视频免费看 | 色网站在线免费观看 | 男人午夜小视频 | 毛片福利 | 欧美自拍 | 久久精品久久精品国产大片 | 欧美精品久久久久久久久久 | 精品一区二区三区在线观看视频 | 国产一级片91 | 91精品国产91| 久久久久久久不卡 | 日韩在线播放第一页 | 精国产品一区二区三区 | 亚洲第五色综合网 | 中国7777高潮网站 | 国产91丝袜在线播放 | 免费欧美一级视频 | 模特三级在线观看 | 草草影院地址 | 国产瑟瑟视频 | 天天操很很操 | 伊人午夜视频 | 美女露100%无遮挡 | 香蕉视频网站在线观看 | 国产精品99爱 | 成人在线观看地址 | 玩偶姐姐 在线观看 | 久久国产精品二国产精品中国洋人 | 精品影视一区二区 | 夜夜b| 日本成人在线免费 | www.48xx.com| 免费国产成人高清在线看软件 | 婷婷久久久久久 |