delphi2007如何让程序不在任务栏中隐藏和显示?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi2007如何让程序不在任务栏中隐藏和显示?相关的知识,希望对你有一定的参考价值。

【注意】
1.是delphi2007,delphi7我用Setwindowlong可以实现,但在delphi2007没效果
2.不可以将窗口隐藏,在不隐藏窗口的情况下,让程序在任务栏中隐藏和显示

form1.Visible:=true; 显示窗口
form1.Visible:=false;隐藏窗口

Application.ShowMainForm:=false; 隐藏窗口
Application.ShowMainForm:=true; 显示窗口

两者区别:上面的只能是在窗体加载完毕之后使用,下面的可以再窗体加载的时候使用!

当初为了实现这两个功能,百度了好久啊 !望采纳!
参考技术A 1、修改工程文件中的“Application.MainFormOnTaskbar := True;”为“Application.MainFormOnTaskbar := False;”
2、在主窗体的 OnShow 事件中写下:ShowWindow(Application.Handle, SW_HIDE);

Electron 应用程序 - 如何在全屏模式下禁用/隐藏任务栏中的窗口

【中文标题】Electron 应用程序 - 如何在全屏模式下禁用/隐藏任务栏中的窗口【英文标题】:Electron app - how to disable/hide the windows in the taskbar in full-screen mode 【发布时间】:2020-06-04 17:39:49 【问题描述】:

我已经为此苦苦挣扎了一段时间,但仍然没有找到任何好的解决方案。 我正在开发一个 Windows 全屏(信息亭)应用程序,我需要一个模式窗口来输入密码以退出应用程序。我做了模态窗口和功能,但现在的问题是,当模态出现时,主窗口会退出全屏并显示带有两个窗口(主窗口和模态)的 Windows (OS) 任务栏。

解决此问题的一种方法是强制应用成为 Windows shell 而不是资源管理器。 我试图通过更改注册来做到这一点。将 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 键入我的应用程序 exe 文件,但它不起作用。当我重新启动时,它仍然会打开资源管理器外壳。

我还尝试在HKEY_LOCAL_MACHINE\... 中编辑相同的 Shell 键,但该键要求您以 以管理员身份运行,这是另一个麻烦,因为我无法让 Electron 编写该注册表。作为管理员的密钥。

注意:我用来打开主窗口的代码是:

  mainWindow = new BrowserWindow(
    width: 800,
    height: 600,
    fullscreen: true,
    frame: false,
    autoHideMenuBar: true,
    kiosk: true,
    skipTaskbar: true,
    webPreferences: 
      preload: path.join(__dirname, 'preload.js'),
      nodeIntegration: false,
      devTools: true
     
  )

那么,有没有人知道如何: - 要么让主应用程序一直全屏显示,要么...... - 使“Shell”注册表项正确启用并保留应用程序的值。

非常感谢大家的时间和帮助!

【问题讨论】:

重要更新。我有一个想法,就在早些时候,我将项目安装在 Ubuntu 机器上与 Windows 上的完全一样,当我运行它时,一切正常!?!?主窗口保持全屏,模态窗口很好地位于主窗口的顶部,并且任何时候在泊坞窗上都看不到任何内容。更重要的是,当您单击模态窗口时它不会消失,就像在 Windows 环境中一样。我猜微软再次展示了它打破事物或不惜一切代价使它们变得更难的能力...... :) 【参考方案1】:

您可以像这样包含代码:

win.removeMenu();

win.setMenu(null);

在哪里, 例如,win 是创建的浏览器窗口的实例,

let win = new BrowserWindow(options:
        width: 1200,
        height: 800,
        icon: 'path/to/icon'
    )

【讨论】:

【参考方案2】:

autoHideMenuBar: true 键值对添加到您的 win 定义中:

win = new BrowserWindow(
    width: 1250,
    height: 660,
    autoHideMenuBar: true,
    icon: getAssetPath('icon.png'),
  );

【讨论】:

以上是关于delphi2007如何让程序不在任务栏中隐藏和显示?的主要内容,如果未能解决你的问题,请参考以下文章

在Delphi 2010 版本中怎样把程序隐藏,不在任务栏处显示?

如何让指定的程序不在任务栏显示?但是仍然能在后台运行。windowsAPI能做吗?

Delphi程序在任务栏显示不了?

delphi在窗口最小化时不在任务栏

如何该隐藏程序的进程,切让Msgbox在弹出置顶

Electron 应用程序 - 如何在全屏模式下禁用/隐藏任务栏中的窗口