如何在程序中加入Growl通知
Growl for Windows – Mac 样式的信息提示工具。目前已经支持的软件包括:Outlook,Visual Studio 等以及一个利用命令行从本地或者远程发送消息过来的工具
.Growl是一个非常好用的通知框架,可以帮助你轻松制作各种非常酷的事件通知效果。这个教程教你如何简单地在自己的应用程序里加入Growl通知。在程序里加入growl通知很容易。在http://www.growlforwindows.com/gfw/about.aspx 下载Growl for Windows ,安装后在程序目录下有.NET的库:
- Growl.CoreLibrary.dll
- Growl.Connector.dll
在程序中引用这两个程序集,在程序中注册GrowlConnector 实例,注册的时候需要提供你的应用的信息
Application application = new Application("YOUR_APP_NAME");
application.Icon = @"c:\image.png";
GrowlConnector growl = new GrowlConnector();
growl.NotificationCallback += new GrowlConnector.CallbackEventHandler(growl_NotificationCallback);
// set this so messages are sent in plain text (easier for debugging)
growl.EncryptionAlgorithm = Cryptography.SymmetricAlgorithmType.PlainText;
application = new Growl.Connector.Application(this.textBox1.Text);
growl.Register(application, new NotificationType[] { notificationType });
然后用下面代码发送通知:
CallbackContext callbackContext = new CallbackContext("some fake information", "fake data");
Notification
notification = new Notification(this.application.Name,
this.notificationType.Name, DateTime.Now.Ticks.ToString(),
this.textBox2.Text, this.textBox3.Text);
growl.Notify(notification, callbackContext);
你可以阅读SDK文档获取更多功能的解释,不过基本思路就是这样的。
上述代码来自http://code.google.com/p/growl-for-windows/,可以自己下载来运行试试。
里面我们来看下示例的运行结果图:

本文转自 大虾 善友博主
如何在程序中加入Growl通知的更多相关文章
- MFC程序中使用调试宏ASSERT()、ASSERT_VALID()、VERIFY()和TRACE()的区别
其实这篇文章说的很明白了:http://dev.gameres.com/Program/Other/DebugMacro.htm 结论如下: 1.ASSERT()测试它的参数,若参数为0,则中断执行并 ...
- Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构
分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...
- 在C#程序中实现插件架构
阅读提示:这篇文章将讲述如何利用C#奇妙的特性,实现插件架构,用插件(plug-ins)机制建立可扩展的解决方案. 在.NET框架下的C#语言,和其他.NET语言一样提供了很多强大的特性和机制.其中一 ...
- 了解 JavaScript 应用程序中的内存泄漏
简介 当处理 JavaScript 这样的脚本语言时,很容易忘记每个对象.类.字符串.数字和方法都需要分配和保留内存.语言和运行时的垃圾回收器隐藏了内存分配和释放的具体细节. 许多功能无需考虑内存管理 ...
- [转载]Java应用程序中的内存泄漏及内存管理
近期发现测试的项目中有JAVA内存泄露的现象.虽然JAVA有垃圾回收的机制,但是如果不及时释放引用就会发生内存泄露现象.在实际工作中我们使用Jprofiler调用java自带的 jmap来做检测还是很 ...
- MFC程序中消息以及函数的处理顺序简介[转]
MFC应用程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该 ...
- 浅析SQL Server 2005中的主动式通知机制
一.引言 在开发多人同时访问的Web应用程序(其实不只这类程序)时,开发人员往往会在缓存策略的设计上狠下功夫.这是因为,如果将这种环境下不常变更的数据临时存放在应用程序服务器或是用户机器上的话,可以避 ...
- Native Application 开发详解(直接在程序中调用 ntdll.dll 中的 Native API,有内存小、速度快、安全、API丰富等8大优点)
文章目录: 1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Ap ...
- Linux设备驱动中的异步通知与异步I/O
异步通知概念: 异步通知的意识是,一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上的“中断”概念,比较准确的称谓是“信号驱动的异步IO”,信号是在软件层次 ...
随机推荐
- 3、opencv 图像显示功能
#include <iostream>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;i ...
- POJ 1064 Cable master (二分)
题意:给定 n 条绳子,它们的长度分别为 ai,现在要从这些绳子中切出 m 条长度相同的绳子,求最长是多少. 析:其中就是一个二分的水题,但是有一个坑,那么就是最后输出不能四舍五入,只能向下取整. 代 ...
- public,protect,private访问权限
第一:private, public, protected 访问标号的访问范围. private:只能由1.该类中的函数.2.其友元函数访问.不能被任何其他访问,该类的对象也不能访问. protect ...
- EasyUI获取所有选中行中的某一列的值
var PointIds=[]; for (var i = 0; i < wPoint_rows.length; i++) { //PointIds.push(wPoint_rows[i][&q ...
- MyCat - 使用篇(5)
此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 意思就是,开头为北京的范围在A0000000~A9999999的根据后面的哈希值对5取模平均分布在0,1,2 ...
- unity 代码添加AnimationEvent
经过测试只要Animator跟继承monoBehaviour的类A在同一个节点上,就可以注册类A中的public 方法,含0或1个参数(int,float,object,string),注意:只能是0 ...
- Sublime Text 3 最新注册码激活码 和 Sublime Text 2 注册码
Sublime是一款很好用的很轻巧的编辑器,堪称一代神级编辑器.此篇文章用于简单学习记录下神器的激活码,不作其他用途.如有侵权,请联系删除,谢谢~~ 1.官方下载地址: http://www.su ...
- js实现考试随机选题
考试的时候经常用到,发在这里记录一下 基本信息包括: 学号.姓名.题号.题目名称 实现原理:给每一个题目添加一个编号,JS生成随机数,遍历每一个学生,把题目根据生成的随机数作为题目编号放入学生信息中 ...
- 【SpringBoot】编写一个自己的Starter
一.什么是Starter? 在开发过程中我们就经常使用到各种starter,比如mybatis-spring-boot-starter,只需要进行简单的配置即可使用,就像一个插件非常方便.这也是Spr ...
- django-跨域访问
pip install django-cors-headers #安装cors INSTALLED_APPS = [ ... 'corsheaders', ... ] MIDDLEWARE_CLASS ...