キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

LabVIEW EXE Multi Taskbar Behavior

I think 4 HWNDs for the primary taskbar alone and I tried sending various messages to each. 

> I did find one that would refresh properly but it took up to 5 seconds to perform the task.

Are you sure?  What's their class name?

Should be just 2: one the primary, and the other one for the 2nd monitor.

Untitled.jpg

What message did you send?

Did you try UpdateWindow()?

 

Does show/hide window cause flash?

 

 

George Zou
0 件の賞賛
メッセージ11/13
1,341件の閲覧回数

George, it can be nice to send messages to other Windows but unless there is an official document on MSDN or in the SDK stating that this is supposed to be the way to do it, this has a very high change to be very version dependent. Which Windows version are you using?

They redesigned the Taskbar and many other parts considerably when getting rid of the traditional Start Window in Windows Vista/7 and did a similar big change with Windows 10. So it's very possible that you see only one top level Window per taskbar but others see a different number. The actual messages to send is even a bigger secret. UpdateWindows() may cause the right sequence of events to cause a refresh but there might be others involved that are private. The fact that it seems very hard to find the right documented API functions to make this work as Microsoft has (maybe) intended it, is likely also the reason why LabVIEW is not fully cooperating here.

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 件の賞賛
メッセージ12/13
1,331件の閲覧回数

If I dragged the finder tool to the taskbar the highlighted one is MSTaskListWClass, above that is MSTaskSwWClass, above that is ReBarWindow32, above that is the Shell_TrayWnd.  I tried sending messages to all of these.  Issuing the SendMessage of 0d1053 (TTM_Update) causes the taskbars to refresh but like I said it varies on how long it takes and for me would freeze for 5-10 seconds.  Other messages I tried was WM_UPDATEUISTATE, TTM_UPDATETIPTEXTA, TTM_UPDATETIPTEXTW, LVM_UPDATE, and FM_REFRESH_WINDOWS, but nothing happened with these which I got from this list..  Are any of these the UpdateWindow() you are referring to?

 

Show/Hide with a 0ms wait between did flash the window very quickly, but I found that even if you are performing a move operation with a drag, it still sticks to the mouse.  A single flicker of such a short amount of time, only once every window moves is totally fine.

 

Attached is 2016 of the project, it uses some OpenG.

メッセージ13/13
1,322件の閲覧回数