亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-08-19 22:40:37 來源:腳本之家 閱讀:165 作者:唐宋元明清2188 欄目:編程語言

本文為大家分享了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();
  }
 }

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

靖江市| 普陀区| 高邮市| 垫江县| 新河县| 盱眙县| 涞源县| 新巴尔虎右旗| 保靖县| 京山县| 垫江县| 偃师市| 永济市| 梅州市| 图木舒克市| 宁远县| 中宁县| 固镇县| 长岛县| 深圳市| 永平县| 芷江| 文化| 武强县| 新民市| 大同县| 出国| 万山特区| 工布江达县| 清水县| 灵川县| 铜鼓县| 南陵县| 兰州市| 普格县| 启东市| 桃园市| 文登市| 屏东县| 博兴县| 安宁市|