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

