程序在启动时隐藏窗口

来源:互联网 发布:父与子的编程之旅 编辑:程序博客网 时间:2024/05/29 02:36

程序在启动时隐藏窗口

--作者:赖玉平(aulyp@163.com)

 

 

       想让对话框程序启动时是隐藏的,也就是在后台启动,(最开始我是为了让3G应用程序在后台初始化)然后需要时又可以显示。刚开始我也想到在OnInitDialog()中加上ShowWindow(SW_HIDE),其实这样是不行的,我试过在OnInitDialog的最后加了一个while(1)拖住进程,结果什么都没有显示,也就是说,OnInitDialog完了之后,才去进行显示资料处理。

找了网上的方法,都没有满足我的要求,下面我给出一个自已辛苦总结出来的方式,完全满足要求。方便广大同行。

1、在OnInitDialog()中用MoveWindow 隐藏窗口

MoveWindow(0,0,0,0);  //隐藏窗口

2OnInitDialog最后,启用定时器,

SetTimer(12,1,NULL); //使用定时器12

3、在定时器处理函数OnTimer()实现如下

 

4、当想让程序恢复显示,一般是响应快捷键,或是双击等操作,比如我现在写的3G应用程序,它初始化成功,会在任务栏显示一个信号强度图标,双击该图标,就是打开电话界面,实现代码如下:

 

 

大功造成!

 

下面是我在网上到到的一个比较可行的方法,但是屏还会闪一个框

============================================================

定义一个boolm_show;//决定是否隐藏

m_show=false;//默认隐藏

可以在对话框中重载虚函数DefWindowProc() 
 

程序中想还原显示的时候可以

m_show=true;
this->ShowWindow(SW_SHOW);

 

 

 

原创粉丝点击