Pass parameters to a running process

Hi guys!

Any tips how to pass parameters to an running process?

and with that I mean is not when I start the process I need to pass parameters when the process is already running.
LVL 1
AWestEngAsked:
Who is Participating?
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
Like I said earlier AWestEng, the easiest way to do this is to make your app use the default Application Framework Events and make it a Single Instance Application.  Then you can call your EXE again with command-line parameters and it will fire the StartupNextInstance() event in your ORIGINAL application.  From there you can access the parameters and make code in the already running instance fire:

My.Application.StartupNextInstance()
http://msdn.microsoft.com/en-us/library/b9z4eyh8.aspx

Overview of the Visual Basic Application Model
http://msdn.microsoft.com/en-us/library/w3xx6ewx.aspx

I will be working on the code in your other PAQs today...  =)
0
 
Ivo StoykovCommented:
Are you sure process accepts params during run. May be you want to hack it ;-)

I
0
 
MTEXXCommented:
Without knowing what application you are thinking about, it is impossible to say.
But if you are writing the application, then here are a few tools you can use:

- inter process communication / shared memory
- writing / reading to a file or directory
- connecting to a socket
- firing off another instance of that module using command arguments
- sendMessage and postMessage
- directly manipulating in-process memory

If you are indeed referring to an existing software product, please tell us what it is.

Cheers!
0
 
AWestEngAuthor Commented:
Both application is coded by me
from the Main App. I do this..
When TestApp is up and runing I need to pass a parameter to TestApp so I can close it correctly, I can't use the kill process, I need to run some code in TestApp before it closes.
 

'// Code from Main App
Dim myProcess As Process = New Process() 
myProcess.StartInfo.FileName = applicationPath & "TestApp.exe" 
Me.LaunchedProcess = myProcess 
myProcess.Start() 
 
Private Property LaunchedProcess() As Process 
   Get 
      Return m_serverProcess 
   End Get 
   Set(ByVal Value As Process) 
      m_serverProcess = Value 
   End Set 
End Property 

Open in new window

0
 
AWestEngAuthor Commented:
thx m8.
I have change to the default Application Framework as you can see in the other PAQ.
 
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.