C#實現(xiàn)托盤程序并禁止多個應(yīng)用實例運行的方法
本文實例講述了C#實現(xiàn)托盤程序并禁止多個應(yīng)用實例運行的方法。分享給大家供大家參考,具體如下:
托盤程序的制作:
1.把NotifyIcon控件拉一個到窗體上,并設(shè)置NotifyIcon的Icon(很重要!否則運行后看不到效果)
2.窗體關(guān)閉時,將程序最小化到系統(tǒng)托盤上
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//MessageBox.Show("程序?qū)⒆钚』较到y(tǒng)托盤區(qū)");
e.Cancel = true; // 取消關(guān)閉窗體
this.Hide();
this.ShowInTaskbar = false;//取消窗體在任務(wù)欄的顯示
this.notifyIcon1.Visible = true;//顯示托盤圖標(biāo)
}
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.左鍵單擊托盤圖標(biāo)時,顯示主窗體,右擊時當(dāng)然是彈出上面設(shè)置的菜單
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>
/// 應(yīng)用程序的主入口點。
/// </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#程序設(shè)計有所幫助。
- C#實現(xiàn)系統(tǒng)托盤通知的方法
- C#程序最小化到托盤圖標(biāo)操作步驟與實現(xiàn)代碼
- c# 托盤雙擊不觸發(fā)單擊事件的實現(xiàn)方法
- C# WinForm窗口最小化到系統(tǒng)托盤
- C#怎樣才能實現(xiàn)窗體最小化到托盤呢?
- C#中如何獲取文件圖標(biāo)
- C#實現(xiàn)用戶自定義控件中嵌入自己的圖標(biāo)
- C#實現(xiàn)帶消息數(shù)的App圖標(biāo)
- C#禁用雙擊窗體圖標(biāo)關(guān)閉窗體的方法
- C#實現(xiàn)WinForm禁止最大化、最小化、雙擊標(biāo)題欄、雙擊圖標(biāo)等操作的方法
- C#實現(xiàn)位圖轉(zhuǎn)換成圖標(biāo)的方法
- 用 C# 編寫一個停放在任務(wù)欄上的圖標(biāo)程序
- C#實現(xiàn)閃動托盤圖標(biāo)效果的方法
相關(guān)文章
c#實現(xiàn)多線程局域網(wǎng)聊天系統(tǒng)
這篇文章主要介紹了c#實現(xiàn)多線程局域網(wǎng)聊天系統(tǒng)的相關(guān)代碼,有此方面需求的小伙伴可以參考下。2015-06-06
c#實現(xiàn)網(wǎng)站監(jiān)控查看是否正常示例
這篇文章主要介紹了使用c#監(jiān)控網(wǎng)站是否正常的功能示例,大家參考使用吧2014-01-01
C#中Request.Cookies 和 Response.Cookies 的區(qū)別分析
本文通過實例代碼向我們展示了C#中Request.Cookies 和 Response.Cookies 的區(qū)別,文章淺顯易懂,這里推薦給大家。2014-11-11
Unity UI組件ScrollRect實現(xiàn)無限滾動條
這篇文章主要為大家詳細(xì)介紹了Unity UI組件ScrollRect實現(xiàn)無限滾動條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07

