【问题标题】:How can I hide a window while keeping it on the taskbar and the Alt+Tab list?如何在将窗口保留在任务栏和 Alt+Tab 列表上的同时隐藏窗口?
【发布时间】:2010-03-02 16:51:43
【问题描述】:

在 Delphi 中,我可以执行以下操作:

var
   hWin : HWnd;

 hWin := GetForegroundWindow;
 ShowWindow(hWin, SW_HIDE);

并隐藏最顶层应用程序的窗口。问题在于,这也会从任务栏和 alt-tab 窗口中隐藏应用程序。

有没有办法隐藏窗口而不隐藏任务栏和 alt-tab 中的应用程序?

谢谢,感谢代码。

【问题讨论】:

    标签: windows delphi


    【解决方案1】:
    var
       hWin : Cardinal;
    
     hWin := GetForegroundWindow;
     ShowWindow(hWin, SW_SHOWMINIMIZED);
    

    试试这个!

    【讨论】:

    • 这将最小化它。我不想要那个。我只想隐藏窗口。如果它最小化所有类型的消息永远不会到达应用程序
    • 你所说的“各种消息”是什么意思?我不认为有一种方法可以隐藏窗口而不最小化它或根本隐藏它。您可以将透明度设置为 100% 可能是 :),但这听起来很奇怪。
    • 当应用程序的状态设置为最小化时,一些窗口消息不会被应用程序捕获。无论如何,没关系。我会接受你的回答,因为我知道这在 Windows 中是不可能的
    【解决方案2】:

    我想你只是想最小化它......隐藏窗口并将其留在任务栏中,不是吗?

    【讨论】:

    • 我做不到。我只想隐藏窗口。如果它最小化所有类型的消息永远不会到达应用程序
    【解决方案3】:

    使用下面的代码,可以最小化窗口:

    SendMessage(hWin,WM_SYSCOMMAND,SC_MINIMIZE,0);
    

    【讨论】:

    • 这将最小化它。我不想要那个。我只想隐藏窗口。如果它被最小化,所有类型的消息都不会到达应用程序
    【解决方案4】:

    您可以将窗口大小调整为 0x0,或者将其移出屏幕。问题是,如果有人 alt-tabs 到它,你需要恢复它的位置和大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-18
      • 2015-12-18
      • 2020-01-26
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 2017-02-22
      • 1970-01-01
      相关资源
      最近更新 更多