您的位置:首页 > 其它

不显示界面的看护程序(看护进程)

2014-08-25 15:56 393 查看
主要是看护某个进程退出后,然后在自动启动该程序。(创建的项目是对话框的。(其实不显示,写服务程序也可以解决))1.如何隐藏主界面
OnInitDialog()//函数中添加如下代码

MoveWindow(-10,-10,0,0);
ShowWindow(SW_HIDE);
ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);
头文件中添加:afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);.cpp文件中增加:ON_WM_GETMINMAXINFO()同时相应函数:添加代码:
void C**Dlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
lpMMI->ptMaxSize.x = 0;
lpMMI->ptMaxSize.y = 0;
lpMMI->ptMinTrackSize.x = -1;
lpMMI->ptMinTrackSize.y = -1;
lpMMI->ptMaxTrackSize.x = -3;
lpMMI->ptMaxTrackSize.y = -3;

CDialog::OnGetMinMaxInfo(lpMMI);
}
同样方法,添加:OnSize()
<pre name="code" class="cpp"><pre name="code" class="cpp">void C**Dlg::OnSize(UINT nType, int cx, int cy){// TODO: 在此处添加消息处理程序代码if(nType == SIZE_MINIMIZED){ShowWindow(SW_MAXIMIZE);}else{CDialog::OnSize(nType, cx, cy);}}
同时:
<pre name="code" class="cpp">LRESULT C**Dlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam){// TODO: 在此添加专用代码和/或调用基类if(message == WM_SYSCOMMAND && wParam == SC_MINIMIZE){ShowWindow(SW_MAXIMIZE);return 0;}if (message == WM_SYSCOMMAND && wParam == SC_MAXIMIZE){return 0;}if (message == WM_SYSCOMMAND && wParam==SC_CLOSE){ShowWindow(SW_MAXIMIZE);return 0;}return CDialog::WindowProc(message, wParam, lParam);}
这样在任务管理器,应用程序里面,最大化,最小化该看护程序,都不会显示出界面来。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: