国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 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#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 枞阳县| 利川市| 聂拉木县| 镇宁| 苏尼特右旗| 胶州市| 宜春市| 元阳县| 漳浦县| 新疆| 临洮县| 武鸣县| 澄江县| 昔阳县| 广灵县| SHOW| 师宗县| 铜陵市| 屏东市| 武陟县| 玉环县| 翁牛特旗| 临武县| 喀什市| 大关县| 南充市| 商丘市| 南漳县| 清流县| 镇宁| 万年县| 济宁市| 思茅市| 八宿县| 南和县| 承德县| 红安县| 车致| 永春县| 合水县| 乡城县|