后台代码如下:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes; namespace Demo
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private NotifyIcon TrayIcon;
WindowState ws;
WindowState wsl;
private System.Windows.Forms.ContextMenu notifyiconMnu;
public MainWindow()
{
InitializeComponent();
Initializenotifyicon();
//保证窗体显示在上方。
wsl = WindowState; }
private void OnNotifyIconDoubleClick(object sender, EventArgs e)
{
this.Show();
WindowState = wsl;
} private void Window_StateChanged(object sender, EventArgs e)
{
ws = WindowState;
if (ws == WindowState.Minimized)
{
this.Hide();
}
}
public void TopAllmost(object sender, System.EventArgs e)
{
try
{
System.Windows.Forms.MenuItem item = (System.Windows.Forms.MenuItem)sender;
bool check = item.Checked;
item.Checked = !check;
this.Topmost = item.Checked;
}
catch
{
}
} public void ExitSelect(object sender, System.EventArgs e)
{
TrayIcon.Visible = false;
this.Close();
}
private void Initializenotifyicon()
{
Assembly assem = Assembly.GetExecutingAssembly();
Stream stream = assem.GetManifestResourceStream(
"Tray.ico"); TrayIcon = new NotifyIcon();
TrayIcon.Icon = new System.Drawing.Icon("Tray.ico");//程序图标
this.TrayIcon.BalloonTipText = "Hello, 文件监视器"; //设置程序启动时显示的文本
TrayIcon.Text = "MutiMenu " + "Copyright: Frank Zhao";
TrayIcon.Visible = true;
TrayIcon.MouseDoubleClick += OnNotifyIconDoubleClick;
this.TrayIcon.ShowBalloonTip(1000);
// TrayIcon.Click += new System.EventHandler(this.click); //tray menu
System.Windows.Forms.MenuItem[] mnuItms = new System.Windows.Forms.MenuItem[5];
mnuItms[0] = new System.Windows.Forms.MenuItem();
mnuItms[0].Text = "Aways Top";
mnuItms[0].Click += new System.EventHandler(this.TopAllmost);
mnuItms[0].Checked = true; mnuItms[1] = new System.Windows.Forms.MenuItem("-"); mnuItms[2] = new System.Windows.Forms.MenuItem();
mnuItms[2].Text = "Settings...";
// mnuItms[2].Click += new System.EventHandler(this.Settings); mnuItms[3] = new System.Windows.Forms.MenuItem("-"); mnuItms[4] = new System.Windows.Forms.MenuItem();
mnuItms[4].Text = "Exit";
mnuItms[4].Click += new System.EventHandler(this.ExitSelect);
mnuItms[4].DefaultItem = true; notifyiconMnu = new System.Windows.Forms.ContextMenu(mnuItms);
TrayIcon.ContextMenu = notifyiconMnu;
}
}
}

Wpf程序显示在任务栏的更多相关文章

  1. MFC 不让程序显示在任务栏上

    如果是对话框程序直接在对话框的 初始化时,修改样式 ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW); 但是对于多文档或是单文档,则没有对应的对话框样式需 ...

  2. Delphi中,除了应用程序主窗口会显示在任务栏上,其它窗口默认都不会显示在任务栏.

    Delphi中,除了应用程序主窗口会显示在任务栏上,其它窗口默认都不会显示在任务栏. Delphi中,除了应用程序主窗口会显示在任务栏上,其它窗口默认都不会显示在任务栏.没有MS开发环境中的ShowI ...

  3. MFC 使程序不在任务栏显示

    在OnInitDialog()中直接修改窗口风格: // 让本程序不在任务栏显示(创建一个工具条窗口) ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);

  4. Winform程序以Icon的形式显示在任务栏右下角

    Form最小化是指整个Form都缩小到任务栏上,但是是以Form的标题栏形式显示的, 若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件, 在使窗体最 ...

  5. WPF程序最小化到任务通知栏

    我们通常使用的桌面软件,都可以最小化到任务通知栏,并且可以从任务通知栏再打开当前软件,或者通过软件的快捷方式从任务通知栏呼出. 我们可以通过下面的方式把WPF程序最小化到任务栏.由于WPF并没有实现N ...

  6. Winform 程序嵌入WPF程序 并发送消息

    废话不多说,先看解决方案目录 WindowsFormsDemo是主程序,WpfApp是嵌入的WPF程序,先看WPF程序,程序默认启动的页面是MainWindow.xaml,这里注释掉App.xaml里 ...

  7. 为 WPF 程序添加 Windows 跳转列表的支持

    原文:为 WPF 程序添加 Windows 跳转列表的支持 Windows 跳转列表是自 Windows 7 时代就带来的功能,这一功能是跟随 Windows 7 的任务栏而发布的.当时应用程序要想用 ...

  8. 在WPF程序中打开网页:使用代理服务器并可进行JS交互

    本项目环境:使用VS2010(C#)编写的WPF程序,通过CefSharp在程序的窗体中打开网页.需要能够实现网页后台JS代码中调用的方法,从网页接收数据,并能返回数据给网页.运行程序的电脑不允许上网 ...

  9. WPF 图片显示中的保留字符问题

    在WPF中显示一张图片,本是一件再简单不过的事情.一张图片,一行XAML代码即可. 但是前段时间遇到了一件奇怪的事: 开发机上运行正常的程序,在某些客户机器上却显示不了图片,而且除了这个问题,其它运行 ...

随机推荐

  1. SyntaxError: unexpected EOF while parsing成功解决

    报错在eval()函数: 我加了个 if 判断是否为空,就可以正常运行了!

  2. 【论文阅读】Motion Planning through policy search

    想着CSDN还是不适合做论文类的笔记,那里就当做技术/系统笔记区,博客园就专心搞看论文的笔记和一些想法好了,[]以后中框号中间的都算作是自己的内心OS 有时候可能是问题,有时候可能是自问自答,毕竟是笔 ...

  3. 【剑指offer】50.数组中重复出现的数字

    50.数组中重复出现的数字 知识点:数组:Set的不可重复性 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重 ...

  4. python 处理protobuf 接口常见错误

    python 处理protobuf 接口常见错误 1.问题 : Assignment not allowed to repeated field '> http://www.coin163.co ...

  5. Docker run 命令参数及使用

    Docker run 命令参数及使用 Docker run :创建一个新的容器并运行一个命令 语法 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTI ...

  6. python3中文件/IO编程

    python3的文件操作可谓是我见过所有语言中最舒服的,那我们来一起看一下py3中的文件操作. 1:文件的打开方式有以下几种: 注:以上图表参考菜鸟教程 2:定位读写文件  f = open(&quo ...

  7. 关于intouch/ifix嵌入视频控件并使用(海康,大华)

    2017年下半年项目开始接触利用intouch工控软件来进行项目二次开发.其中关于驱动的问题始终是上位机的重中之重,暂且不表(嘿嘿--),首先遇到的问题就是在弹窗中嵌入视频控件,监控设备的开停状态.经 ...

  8. rsync(873)未授权访问

    cd vulhub-master/rsync/common docker -composeup -d 检测 1.列出目标服务器的同步目录 rsync 192.168.244.129:: 2.查看模块文 ...

  9. markdown文档编写基础

    Markdown快速入门教程 ###########来源:https://zhuanlan.zhihu.com/p/84918488 ###########来源:https://github.com/ ...

  10. 手撸一个SpringBoot-Starter

    1. 简介 通过了解SpringBoot的原理后,我们可以手撸一个spring-boot-starter来加深理解. 1.1 什么是starter spring官网解释 starters是一组方便的依 ...