--- In [email protected], "p.renfrew" <p.renf...@...> wrote: > > --- In [email protected], "brucexs" <bswitzer@> wrote: > > > > > > Can I easily create a script loop that only runs while my bar is running > > > and restores if state is minimized? > > > > > > > > Maybe (not tested) > > event.create(500, 0, "if(win.minned(?=Myclist=)\rwin.show(?=myclist=,1)") > > I have discovered that this can not work because PPro is a WS_EX_TOOLWINDOW. > The method does work in a sample dialog app if it isn't a toolWindow (it then > receives WM_WINDOWPOSCHANGED which can immediately restore the window). > > Show Desktop (IShellDispatch4.ToggleDesktop()), will minimize all minimizable > windows by forcing a "ShowWindow(SW_MINIMIZE)", but toolWindows do not move; > the desktop is activated and placed in front of them. That is why windows > with (WS_EX_TOPMOST | WS_EX_TOOLWINDOW) will remain after a "Show Desktop", > along with those that have the desktop as a parent. > > But, I can't think of a ppro event and function that would allow me to bring > ppro in front of the desktop if (and only if) the desktop comes in front of > it. >
If you know PowerPro bar overlaps position x, y on desktop, then if mainhandlefrompoint(x,y) is not the powerpro bar, can you move the bar back on top with win.showna(no activate) or failing that do a setwindowpos with dll.call as a test (I can throw setwindopos into win plugin if dll.call works and you don't want to rely on distributing dll plugin).
