Passing data between applications

I've searched but cannot find a simple solution for this problem.

I am building individual applications in VB.NET (2005) as part of a suite of applications.  Each one is a separate project (.exe file) and I want the options of launching a program with optional data being passed to it and data being passed from it.

For example, one program performs a lookup in a property database (allowing users to visually search, etc.).  The program will be utilised by many apps (as part of a look up feature) so I decided to build it as a standalone app.  How can I pass to this program pre-selected data (eg. part of an address string - if known) or to pass back to the calling application either the ID, name or other information.

Cheers


Answer this question

Passing data between applications

  • Spktrader

    You may want to consider the Shared Interface for interprocess communications. In the documentation there are shared interfaces for this.

  • Kuma1

    In VB6 there was a Command Line arguments box on the make tab of the project properties dialog, cant think if there is a similar box in VB.Net (havnt got it in front of me at the mo)

    This has been replaced by

    System.Environment.GetCommandLineArgs

    You can use it like this:

    Dim args() As String

    args = System.Environment.GetCommandLineArgs

    And you will have an array of command line arguments to work with



  • Chakra V

    I have looked at the suggestions from people and after some searching managed to work out that I neet to use WM_COPYDATA using data copy:

    http://msdn.microsoft.com/library/default.asp url=/library/en-us/winui/winui/windowsuserinterface/dataexchange/datacopy.asp

    However,  the source code looks to be in C++ and I have no idea how to strip out the stuff I need to use with in VB.  Does anybody have any examples to hand which will give me what I need

    Thanks

  • peace467

    Ok heres an idea how about using serialization of an object in your search app to pass data between the applications.

    for example

    Your search program does its job then saves its data to an XML file using serialization of an object in you app that represent your data.

    Then your other apps can deserialize this XML file into the application and use the data for its own means

    Or what about creating your search app as a user control and then integrating that user control into your different applications

    I think using unmanaged API calls is a bit overkill for something like this there is surely a better way using the CLR



  • John Berchmans

    Hi,

    You can do this with winsock. Just search the MSDN documents on how to use winsock...

    BTW - shouts out to Billy Chen for giving me the idea...

     

     

    cheers,

    Paul June A. Domag



  • Passing data between applications