隐藏/显示Windows任务栏的应用程序图标(LabVIEW - WINAPI)

时间:2017-03-02 11:55:29

标签: winapi labview

我有一个用LabVIEW创建的应用程序,我需要在运行时显示/隐藏Windows任务栏上的应用程序图标。 我认为WINAPI可用于此目的,我尝试使用ShowWindow函数(user32.dll)

ShowWindow(hWnd,SW_HIDE) - >隐藏应用程序窗口。任务栏图标消失一秒钟而不是重新出现。

ShowWindow(hWnd,SW_SHOWMINIMIZED) - >它只是最小化应用程序窗口,因此任务栏图标仍然是

1 个答案:

答案 0 :(得分:1)

默认情况下,"正常"可见的非拥有窗口获取任务栏按钮,任务栏按钮在除SW_HIDE之外的每个州都可见。

MSDN还记录了一些可以用来覆盖按钮的技巧:

  

只要应用程序创建了一个不拥有的窗口,Shell就会在任务栏上创建一个按钮。要确保窗口按钮位于任务栏上,请创建一个具有WS_EX_APPWINDOW扩展样式的无主窗口。要防止窗口按钮放在任务栏上,请使用WS_EX_TOOLWINDOW扩展样式创建无主窗口。作为替代方案,您可以创建一个隐藏窗口,并使此隐藏窗口成为可见窗口的所有者。

     

...如果要将窗口的样式动态更改为不支持可见任务栏按钮的样式,则必须先隐藏窗口(通过ShowWindow调用SW_HIDE) ,更改窗口样式,然后显示窗口。

另一种方法是使用ITaskbarList界面,它可让您完全控制任务栏按钮。

相关问题