pass command line parameter in to a running program

Posted on 2011-09-14
Last Modified: 2012-06-27
Hi All

Ive used command line parameter to get my to open in to a section of the program, however im finding that it reopens the program and cause the program to be running mutable times how do i get it so that the command line parameter is executed without reopening the program again.

In other words how would i pass command line parameter in to a running program?


Question by:Matb396
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
  • 2
  • 2
  • 2
  • +2

Expert Comment

ID: 36536331
LVL 70

Expert Comment

by:Éric Moreau
ID: 36536398
LVL 40
ID: 36536528
The command line string includes the name call to the program, as shown by the following, where the parameter is VS.

"C:\Program Files\Prog\Projects\JBFlow\bin\JBFlow.exe" VS

If you  use it as such, you are simply relaunching the application.

You need to isolate the second part of the command line. In order to do it, I usually use the Split method of the String class, splitting on double quote followed by a space, which are the 2 caracters just before the parameter:
Dim commandLineArgs() As String = Environment.CommandLine.Split({""" "}, StringSplitOptions.None)

Open in new window

This gives me an array of  1 String if there is no paramater, an array of 2 Strings if there is one. So I have to check if there really is a second one:
If commandLineArgs.Length > 1 AndAlso commandLineArgs(1).Length > 0 Then 'Got a command line argument
  myArgument = commandLineArgs(1)  'VS
  'There is no command line argument
End If

Open in new window

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.


Author Comment

ID: 36536756
James, how does this stop there being more then one instance of the program?
LVL 86

Accepted Solution

Mike Tomlinson earned 500 total points
ID: 36536838
This uses the StartupNextInstance() event which fires when the "Enable Single Instance" box is checked in Project --> Properties:

See "Overview of the Visual Basic Application Model":
LVL 70

Expert Comment

by:Éric Moreau
ID: 36536939
>>how does this stop there being more then one instance of the program?

Have you checked my article?
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 36537001

You should update that article to also show how to use the default WindowsFormsApplicationBase class provided when you click on the "View Application Events" button...

Author Closing Comment

ID: 36537010

and emoreau that way it to complex
LVL 40
ID: 36537240
James, how does this stop there being more then one instance of the program?

You are not reusing the whole command line, you have isolated only the parameter.

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

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 As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor ( Top Charts is a view in which you can set seve…

717 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