无标题文档
载入中...
    载入中...
博客公告
    载入中...
时间记忆
    载入中...
博客登陆
最新日志
    载入中...
最新评论
    载入中...
最新留言
    载入中...
博客相册
博客好友
    载入中...
友情连接
博客统计
    载入中...
隐藏程序的前面板及任务栏程序入口 | 2010-3-4 20:35:00

最近在写一个Windows后台服务程序的过程中,遇到这样一个问题:后台服务运行时只需要在桌面右下角系统托盘中显示一个图标,而不需要显示前面板和任务栏中的程序入口。这里暂且不谈托盘图标的问题,先看一下如何隐藏程序前面板及任务栏的程序入口。

在NI的网站上提到两种方法:一是利用NT的一个工具SRVANY.EXE把编程好的EXE程序安装为NT系统服务,这种情况下只要前面板上不放任何控件,服务运行时将不显示前面板;二是直接在程序中添加一些隐藏窗口的代码。第一种方法我还没有尝试,下面主要谈谈第二种实现方法。

在编写程序的过程中,添加如下代码,就可以实现前面板的隐藏。

PS:论坛上有朋友说可以用VI的close属性来关闭前面板,尝试后发现不行,关闭前面板程序也会退出。

在添加了以上代码后,程序运行的过程中将会把前面板隐藏掉,但任务栏中依然会有程序入口。要同时隐藏任务栏中的程序入口,还需要在编译的EXE文件的配置文件中添加代码:HideRootWindow=True

例如,程序编译后生成APP.EXE,将会有相应的APP.INI,将HideRootWindow=True添加到APP.INI文件中的[APP]下方即可。

通常情况下,在编译的过程中会自动生成APP.INI文件,那是因为在生成可执行程序的配置里有这么一个选项:

从上图中可以看出,默认情况下勾选了“use the default labview configuration file (labview.ini)”一项,这样LabVIEW就会为生成的EXE程序自动添加一个配置文件。这种情况下,需要在生成的INI文件中手动添加HideRootWindow=True。另外一种方法,就是在这个配置中把前面的勾去掉,然后通过下面的对话框选择自己事先写好的配置文件(其中包含HideRootWindow=True),这样在生成EXE程序后,就会自动包含此配置文件了。

有了这两个步骤,就可以实现隐藏程序前面板及任务栏程序入口的功能了。但这个方法也有一个缺点:打开程序的时候会闪一下。应该就是因为先打开后隐藏的缘故吧。

参考:http://digital.ni.com/public.nsf/allkb/EFEAE56A94A007D586256EF3006E258B

  • 标签:LabVIEW 隐藏 任务栏 
  • Re:隐藏程序的前面板及任务栏程序入口 | 2011-4-3 16:38:00
    happyarrow受用了!呵呵。
    By:happyarrow | 个人主页 | 引用 | 返回 | 删除 | 回复
    Re:隐藏程序的前面板及任务栏程序入口 | 2011-3-26 10:24:00
    guokaoting长知识了
    By:guokaoting | 个人主页 | 引用 | 返回 | 删除 | 回复
    Re:隐藏程序的前面板及任务栏程序入口 | 2011-1-11 11:47:00
    x289923386谢谢啦
    By:x289923386 | 个人主页 | 引用 | 返回 | 删除 | 回复
    Re:隐藏程序的前面板及任务栏程序入口 | 2010-12-8 10:02:00
    wzb为什么不把文字显示全呢
    Re:隐藏程序的前面板及任务栏程序入口 | 2010-8-22 14:30:00
    wcy355026受益匪浅!1
    By:wcy355026 | 个人主页 | 引用 | 返回 | 删除 | 回复
    发表评论:
    载入中...

    中国博客秀
    博客秀 版权所有