Solved

Bring external application window to front

Posted on 2004-09-01
7
1,383 Views
Last Modified: 2010-04-23
I'm launching an external application from my VB.net app using the Process.Start() function.  I need a way to bring that window to the front in order to send keys to it at various times throughout my VB.net app.

Any thoughts?
0
Comment
Question by:dudinatrix
  • 3
7 Comments
 
LVL 25

Expert Comment

by:RonaldBiemans
Comment Utility
you could use the shell function this has the possibility to do that

Shell("notepad.exe", AppWinStyle.MaximizedFocus)
0
 

Author Comment

by:dudinatrix
Comment Utility
As I understand it, the Process.Start() function is the new, perferred "replacement" of the Shell function, since it has more control over the launched application.

What you suggest brings the window to the front when it launches (the Process.Start() function can do the same), but that isn't my issue.

I need to bring the external application to the front later, AFTER it loses focus.  I'll be switching between my VB.net application and my launched application, so it's important that I can bring it back to the front at any time, not just during the launch.
0
 
LVL 25

Expert Comment

by:RonaldBiemans
Comment Utility
Sorry, I see you need to it multiple times. So you need the setforegroundwindow API. I'll have a look
0
 
LVL 25

Accepted Solution

by:
RonaldBiemans earned 63 total points
Comment Utility
0
 
LVL 4

Assisted Solution

by:Javert93
Javert93 earned 62 total points
Comment Utility
Add this declare statement to a module in your project:

    Public Declare Auto Function SetForegroundWindow Lib "user32.dll" (ByVal hWnd As IntPtr) As Boolean

You can then activate the application's main window like this (assuming "p" is reference to your process):

    SetForegroundWindow(p.MainWindowHandle)

This should activate your window whenever you want.
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now