当前位置: 首页 > 编程笔记 >

C#实现托盘程序并禁止多个应用实例运行的方法

司空坚
2023-03-14
本文向大家介绍C#实现托盘程序并禁止多个应用实例运行的方法,包括了C#实现托盘程序并禁止多个应用实例运行的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了C#实现托盘程序并禁止多个应用实例运行的方法。分享给大家供大家参考,具体如下:

托盘程序的制作:

1.把NotifyIcon控件拉一个到窗体上,并设置NotifyIcon的Icon(很重要!否则运行后看不到效果)

2.窗体关闭时,将程序最小化到系统托盘上

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
  //MessageBox.Show("程序将最小化到系统托盘区");
  e.Cancel = true; // 取消关闭窗体
  this.Hide();
  this.ShowInTaskbar = false;//取消窗体在任务栏的显示
  this.notifyIcon1.Visible = true;//显示托盘图标
}

3.放一个上下文菜单,添加几个基本项,"显示主窗体","退出" ,将这个菜单挂到NotifyIcon上

private void menuShow_Click(object sender, EventArgs e)
{
  this.Show();
  this.ShowInTaskbar = true;
  this.notifyIcon1.Visible = false;
}
private void menuExit_Click(object sender, EventArgs e)
{
  this.Dispose(true);
  Application.ExitThread();
}

4.左键单击托盘图标时,显示主窗体,右击时当然是弹出上面设置的菜单

private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
  if (e.Button == MouseButtons.Left)
  {
    this.Show();
    this.ShowInTaskbar = true;
    this.notifyIcon1.Visible = false;
  }
}

防止这个程序同时运行多个

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Threading;
namespace LuceneTest
{
  static class Program
  {
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main()
    {
      bool bCreatedNew;
      Mutex m = new Mutex(false, "Product_Index_Cntvs", out bCreatedNew);
      if (bCreatedNew)
      {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
      }
    }
  }
}

希望本文所述对大家C#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍C#简单实现防止多个程序运行的方法,包括了C#简单实现防止多个程序运行的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#简单实现防止多个程序运行的方法。分享给大家供大家参考,具体如下: 更多关于C#相关内容感兴趣的读者可查看本站专题:《C#面向对象程序设计入门教程》、《C#常见控件用法教程》、《C#程序设计之线程使用技巧总结》及《C#数据结构与算法教程》 希望本文所述

  • 把下列代码放到你的 .onInit 函数: System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e' Pop $R0 StrCmp $R0 0 +3 MessageBox MB_OK|MB_ICONEXCLAMATION "安装程序已经在运行。" Abort myMutex 应该替换为你

  • 本文向大家介绍C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance),包括了C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)的使用技巧和注意事项,需要的朋友参考一下 从 <<Windows Forms 2.0 Programming, 2nd Edition>>   -  Single-Instance Applicat

  • 本文向大家介绍C#使用Mutex简单实现程序单实例运行的方法,包括了C#使用Mutex简单实现程序单实例运行的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#使用Mutex简单实现程序单实例运行的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍C#运行CGI程序实例,包括了C#运行CGI程序实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#运行CGI程序的方法。分享给大家供大家参考。具体实现方法如下: 一、控制面板—>程序和功能—>打开或关闭Windows功能 把相关的功能勾上,点“确定” 二、新建一个网站,配置ISAPI和CGI限制、处理程序映射 三、CGI控制台应用程序代码: 四、Web程序页面代码: 希

  • 本文向大家介绍微信小程序实现禁止分享代码实例,包括了微信小程序实现禁止分享代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了微信小程序实现禁止分享代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 微信禁止分享 添加以下代码到网页中即可 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。