Solved

Bring external application window to front

Posted on 2004-09-01
7
1,502 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
ID: 11953483
you could use the shell function this has the possibility to do that

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

Author Comment

by:dudinatrix
ID: 11953654
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
ID: 11953667
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
ID: 11953704
0
 
LVL 4

Assisted Solution

by:Javert93
Javert93 earned 62 total points
ID: 11968089
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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

803 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