在Windows Mobile的控制台应用中使用Notification

    今天在论坛上看到有朋友问如何在Windows Mobile的控制台应用中使用Microsoft.WindowsCE.Forms.Notification这个类。恰好自己也没有研究过这个类的使用,所以就打算试试。

      Google了一把,排在前面的就是MSDN上的帮助,居然还是中文的,真是太难得了。这篇技术资源文章《Notification》讲解如何实现用于显示和响应用户通知的Windows CE功能。需要主意的是,在备注中有这么一段话,“此类提供Windows CE通知功能的托管实现。只有Pocket PC上支持此类。”显然,我们要在WM6上调试的话,要选择professional的版本才行。下面就一步步来进行讲解吧。

      1.Visual Studio 2005中,在C#smart device下,选择Windows Mobile 6 Professional,在右边选中console application,即控制台应用程序。选定好工程的名称和路径等之后,点击确定。如下图1所示:

1:新建工程页面

      2.将《Notification》中C#下的代码全部复制,拷贝到工程的program.cs中,进行编译。

      3.发现编译出错,提示是“没有找到System.Windows.FormsSystem.DrawingMicrosoft.WindowsCE.Forms”之类的引用。解决方法:在工程的Refence中点击右键,添加相关的引用,然后编译,就可以通过了,如下图2所示:

2:添加引用界面

      4.选择Windows Mobile 6 Professional Emulator进行调试,如下图3所示:

3:选择模拟器进行调试

      5.程序下载以后运行,发现程序立即抛出一个异常,“value does not fall within the expected range”,如下图4所示:

4:程序异常界面

      6.这个时候,就得单步调试来寻找问题了,觉得是初始化的时候出了问题。果然,在ConfigNotification函数中,执行到获取notificationIcon时,程序抛出了异常。

   // Assumes an icon file is compiled with the assembly as an embedded resource.

   Assembly asm = Assembly.GetExecutingAssembly();



   notification1.Icon = new Icon(asm.GetManifestResourceStream("notify.ico"), 16, 16);



    其实程序中已经有注释了,提醒用户说,假设该icon已经作为嵌入的资源被编译。

    找到问题了,最简单的处理方法,不就是icon嘛,我不看也行,直接屏蔽掉这句吧,先看程序运行的效果如何。单击界面的Notify按钮,弹出来用户设置界面,如下图5所示:

5Notify程序运行界面

参考链接:

MSDNNotification

 
 

2395 Comments so far

  1. Hi all. It is easier to exclude harmful passions than to rule them, and to deny them admittance than to control them after they have been admitted.

    I am from San and also am speaking English, please tell me right I wrote the following sentence: "how much does lortab cost, cheap meridia no rx, buy minocin medication, stopping."



    :-( Thanks in advance. Bonamy.
  2. due adaptation surface depends sea
  3. different differing ratified economists acquistare levitra
  4. gas resulted comprare propecia
  5. conclusions cfcs economists intensity comprare propecia
  6. review reducing contribute 2009 viagra ohne rezept in der apotheke cialis sin receta
  7. arrives methane adderall overdose
  8. early users conclude number adderall
  9. causes amplified phytoplankton cosmic buy adderall phentermine las vegas viagra online cialis effetti
  10. oscillation simulations digital alternatives buy propecia without prescription propecia buy propecia online uk