Article ID: 305369 - View products that this article applies to.
This article was previously published under Q305369
For a Microsoft Visual Basic .NET version of this article, see 305368
For a Microsoft Visual C++ .NET version of this article, see 307388
This article refers to the following Microsoft .NET Framework Class Library namespace:
This step-by-step article shows you how to use the .NET Framework Process class to start another application from your code and have the code wait for the other application to close before it continues.
When the code waits for the application to finish, there are two options:
Include namespacesYou must import the namespace for the Process class before you run the examples that follow. Place the following line of code before the Namespace or Class declaration that contains the code sample:
Wait indefinitely for the shelled application to finishThe following code sample starts another application (in this case, Notepad) and waits indefinitely for the application to close:
TroubleshootingSometimes it may be difficult to choose between these two options. The primary purpose of a time-out is to prevent your application from hanging because the other application has hung. Time-outs are better suited for a shelled application that performs background processing, in which the user may not know that the other application has stalled or does not have a convenient way to close it.
For more information about how to use an asynchronous method to accomplish this task, click the following article number to view the article in the Microsoft Knowledge Base:
(https://support.microsoft.com/kb/304032/ )How to determine when a shelled process ends in Visual C#
Article ID: 305369 - Last Review: October 15, 2012 - Revision: 4.0