How To Maximize A Window From The Task Bar

G

Guest

I need to maximize a program that is in the task bar. I'm using VBA from
within Excel. I already used AppActivate but it only works if the other
application is ALREADY maximized. I also tried using some calls to the
Windows API, but they also would only bring a window to the top if the window
was ALREADY maximized. I coundn't get a window that was minimized to be the
window on top. Well actually, I came close, but the main problem is FINDING
THE HWND for the window that is minimized in the task bar.

If someone could give me at least the code to find the hwnd to the minimized
window, I cound probably figure it out from there as long as there is a call
that will maximize at the same time.

Hope I was clear enough.

Thanks
 
S

Steve Yandl

Create an instance of the Word application and take advantage of its 'tasks'
collection. Use the visible, name, and windowstate properties to locate
instances of the application that are minimized to the task bar and then use
the activate method to activate that minimized application.

Excel doesn't have the same tasks collection but it's easy enough to borrow
from Word.

Steve Yandl
 
G

Guest

Thanks Duncan and Steve,

However, the application that is running minimized in the taskbar is not
Excel. After two days of trying and now the third day. I finally found what
I needed using the Windows API. It took me five hours today to complete the
task. I can't believe how hard it is to work with the API ! You have to get
the handle to the desktop window, then sequence through all of the Desktop's
child windows until you get the handle to the window you want, then you
activate that child window.
 
S

Steve Yandl

As long as you have a solution that works, that is the important thing.
However, you could have used the tasks collection from Word and saved a lot
of time. The 'name' property of a task is the "friendly" name which might
be different than the name of the process (example, "Solitaire" vs
"Sol.exe") but presumably you would know that name.

Steve Yandl
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top