当前位置: 首页 > 知识库问答 >
问题:

windows应用程序显示在vista的任务栏后面

谷梁昊空
2023-03-14

我有一个MFC应用程序。在我的应用程序中,如果我在Windows XP上运行,它工作正常。但如果我在Windows Vista中运行,MFC对话框会隐藏在任务栏后面。

bool bHide=true;
CRect rectWorkArea = CRect(0,0,0,0);
CRect rectTaskBar = CRect(0,0,0,0); 

CWnd* pWnd = CWnd::FindWindow("Shell_TrayWnd", ""); 
pWnd->ShowWindow(SW_SHOW);
if( bHide ) 
{  // Code to Hide the System Task Bar  
    SystemParametersInfo(SPI_GETWORKAREA,0,(LPVOID)&rectWorkArea,0);   
    if( pWnd ) 
    {   
        pWnd->GetWindowRect(rectTaskBar);   
    //    rectWorkArea.bottom -= rectTaskBar.Height();  
        rectWorkArea.bottom += rectTaskBar.Height();//-----to hide taskbar
        SystemParametersInfo(SPI_SETWORKAREA,0,(LPVOID)&rectWorkArea,0);    
    //    pWnd->ShowWindow(SW_SHOW);  
        pWnd->ShowWindow(SW_HIDE); //--to hide taskbar
    }
}

我使用了这个代码,但它隐藏了任务栏。但我想在任务栏上方显示应用程序。

共有2个答案

吕承望
2023-03-14

最后我找到了解决方案,我们要做的是在我们的oninitdialog中添加下面的代码,

SetWindowPos(&this->wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

上面的一行足以显示任务栏上方的mfc对话框。但有时,对话框的焦点会发生变化,看起来应用程序被挂起(对话框中没有响应)。如果发生,请输入以下代码。

SetWindowPos(&this->wndBottom,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
钱跃
2023-03-14

你没有任务栏,所以你不应该隐藏它。顺便说一句,你可以选择自动最小化它。您还可以选择在没有任务栏的情况下使用辅助监视器。

在主监视器上,你的应用程序被分配到工作区,你可以定位(从上面提供的代码片段判断)。最好将窗口放在这个区域内,而不干扰任务栏,无论它在上面还是外面。

如果您仍然想让它更像是一场“谁在任务栏上”的竞争,那么您可能想看看SetWindowPosAPI和窗口Z-Order。

 类似资料:
  • 我有一个用LabVIEW创建的应用程序,我需要在运行时在Windows任务栏上显示/隐藏应用程序图标。我认为WINAPI可以用于此目的,我尝试使用ShowWindow函数(user32.dll) 显示窗口(hWnd,SW_HIDE)- 显示窗口(hWnd,SW_SHOWMINIMIZED)-

  • 问题内容: 我正在尝试在Windows中显示。如何在Windows任务栏上显示(如)? 问题答案: 对话框本身不能具有任务栏条目,但是您可以构造一个没有任何可见效果的框架,并将其用作对话框的父级。然后,该对话框看起来像具有任务栏条目。以下代码显示了如何执行此操作:

  • 我的应用程序有一个选项,用户只能在系统托盘中运行,而不能在任务栏中运行。当我的应用程序由Delphi 6构建时,它运行良好。切换到Delphi XE2后,它不再工作。 我把它弄得一团糟,我让它适用于Windows 7,但是在Windows XP上运行时,我仍然有一个问题。应用程序正确地从任务栏中隐藏,并显示在系统托盘中。但是当我创建并显示任何附加表单时,图标会显示在Windows XP中。 如果用

  • 问题内容: 首先,我是一位经验丰富的C程序员,但是刚接触python。我想使用pyqt在python中创建一个简单的应用程序。让我们想象一下这个应用程序,就像它在运行时一样简单,它必须在系统托盘中放置一个图标,并且在菜单中提供了退出该应用程序的选项。 这段代码有效,它显示了菜单(为了简化起见,我没有连接退出动作,依此类推) 但这不是: 我可能想念一些东西。没有错误,但是在第二种情况下,当我单击鼠标

  • Electron有API来配置Windows任务栏中的应用程序图标。 支持的有 创建一个 弹出列表, 自定义缩略图和工具栏, 图标叠加, 和所谓的 "闪烁框" 效果, 而且 Electron 还使用应用程序的 dock 图标来实现跨平台功能 比如 最近文档 和 应用进程. Windows Taskbar Electron has APIs to configure the app's icon i

  • 问题内容: 我目前正在尝试将Java应用程序固定到Windows 7任务栏。该应用程序通过Launch4j启动。程序图标正确显示,但是右键单击任务栏上的图标仅显示带有条目“关闭窗口”的上下文菜单。没有用于将应用程序固定到任务栏的菜单条目。将EXE文件拖到任务栏中也无法正常工作。当在任务栏中单击此新启动器时,任务栏中会出现另一个图标。 第二个问题/解决方案中的JNA内容将进行编译,并且不会引发任何异