Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Bring external application window to front

Posted on 2004-09-01
7
1,537 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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

790 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