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

主要是看护某个进程退出后,然后在自动启动该程序。

(创建的项目是对话框的。(其实不显示,写服务程序也可以解决))

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);
}


这样在任务管理器,应用程序里面,最大化,最小化该看护程序,都不会显示出界面来。



 

 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值