vc怎么让程序不显示任务栏

2024-11-24 10:28:50
推荐回答(3个)
回答1:

我现在也正在做这个问题,找了半天只有这一个方法其他都不行。不知道你有什么好方法没?
在Hide.cpp中InitInstance()

CHideDlg dlgParent;
dlgParent.Create(IDD_HIDE_DIALOG);

dlgParent.ShowWindow(SW_HIDE);
//dlgParent.ShowWindow(SW_SHOW);

CHideDlg dlg(&dlgParent);

m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();

dlgParent.DestroyWindow();
这样做的结果如果在CHideDlg.cpp中OnInitDialog()添加了加载图标菜单等都被加载俩次。所以我的做法是新加了一个什么都不显示的对话框ABC
我的代码
在Hide.cpp中InitInstance()
CAbcDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
……
在Abc的OnCreate中(OnInitDialog里也可以吧)
if (dlg.DoModal() == IDOK) /*这个dlg是我在Abc中定义的类全局变量 CHideDlg dlg;*/
OnOK();
else
OnCancel();
我这样虽然间接实现了不显示在任务栏但如果是Abc就是主窗口了吧(我也刚学)这样多了资源,而且一些处理要在CAbcDlg中处理

回答2:

CDialog::OnInitDialog()
{
...
SetParent(FindWindow("ProgMan",NULL));/////////加入的
ShowWindow(SW_MINIMIZE);////////////加入的
...
return TRUE;
}

回答3:

设计时窗体的showintaskbar为False