VC++中实现程序启动后隐藏窗口,最小化到托盘图标。

对话框型程序的窗口隐藏:


1.OnInitDialog()中加上ShowWindow(SW_HIDE),无效。

2.在OnPaint()中加上ShowWindow(SW_HIDE),有效,但会闪烁。

3.重载虚函数WindowProc():

LRESULT CTestDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam){
    ShowWindow(SW_SHOW);
    return CDialog::DefWindowProc(message, wParam, lParam);
}


4.在OnInitDialog()中使用SetWindowPlacement():

GetWindowPlacement(&m_wp); // 恢复时用

WINDOWPLACEMENT wp;
wp.length=sizeof(WINDOWPLACEMENT);
wp.flags=WPF_RESTORETOMAXIMIZED;
wp.showCmd=SW_HIDE;
SetWindowPlacement(&wp);

文档类型程序的窗口隐藏:

参见:实现VC程序启动时最小化到任务栏(完美解决闪烁问题)


取消任务栏显示窗口条:

ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW); // 从任务栏中去掉


最小化到托盘图标:


 方式1: 实现VC程序启动时最小化到任务栏(完美解决闪烁问题)


方式2:如何将程序启动时最小化到托盘



你可能感兴趣的:(C++)