473,503 Members | 1,647 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Needing info on passing data between applications. Win[C#]

Perhaps someone can point me in the right direction in finding code, or
finding reading information on how to pass information (ie. ArrayList,
string, etc) between two running window applications, that won't
neccessarily be on the same machine.

This will be my first attempt at this, and I'm not sure if this falls under
COM, or ActiveX.

Any and all help is appreciated.

Thanks in advance.

Mike
Nov 29 '07 #1
11 1975
Mike,

Are they both .NET applications? If so, you should be looking into
Windows Communication Foundation, or remoting (I urge you to look at WCF
though first).
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"MikeY" <mi*******@yahoo.comwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
Perhaps someone can point me in the right direction in finding code, or
finding reading information on how to pass information (ie. ArrayList,
string, etc) between two running window applications, that won't
neccessarily be on the same machine.

This will be my first attempt at this, and I'm not sure if this falls
under COM, or ActiveX.

Any and all help is appreciated.

Thanks in advance.

Mike
Nov 29 '07 #2
Hi Nicholas,

Yes they are both Windows/forms .NET C# applications. What I really want to
try to accomplish is to send information from one application to another
application, where it will (eventually) be sent off to be printed one of
various printers. Having the info be send to the 2nd application is to
safe-guard, incase the printer name changes, etc.

If this works, it might just end up on a server, or on another machine. In
my head I'm thinking this is the best course of action, unless there is a
better solution out there.

But thank you Nicholas, I"ll head off right now and check out WCFand or
remoting.

Thanks again.

MIkeY
"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.comwrote in
message news:1F**********************************@microsof t.com...
Mike,

Are they both .NET applications? If so, you should be looking into
Windows Communication Foundation, or remoting (I urge you to look at WCF
though first).
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"MikeY" <mi*******@yahoo.comwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
>Perhaps someone can point me in the right direction in finding code, or
finding reading information on how to pass information (ie. ArrayList,
string, etc) between two running window applications, that won't
neccessarily be on the same machine.

This will be my first attempt at this, and I'm not sure if this falls
under COM, or ActiveX.

Any and all help is appreciated.

Thanks in advance.

Mike

Nov 29 '07 #3
Unfortunitly I'm work with VS.NET 2002 and it is my understanding that WCF
needs 2005 and greater.
"MikeY" <mi*******@yahoo.comwrote in message
news:%2***************@TK2MSFTNGP06.phx.gbl...
Hi Nicholas,

Yes they are both Windows/forms .NET C# applications. What I really want
to try to accomplish is to send information from one application to
another application, where it will (eventually) be sent off to be printed
one of various printers. Having the info be send to the 2nd application
is to safe-guard, incase the printer name changes, etc.

If this works, it might just end up on a server, or on another machine.
In my head I'm thinking this is the best course of action, unless there is
a better solution out there.

But thank you Nicholas, I"ll head off right now and check out WCFand or
remoting.

Thanks again.

MIkeY
"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.comwrote
in message news:1F**********************************@microsof t.com...
>Mike,

Are they both .NET applications? If so, you should be looking into
Windows Communication Foundation, or remoting (I urge you to look at WCF
though first).
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"MikeY" <mi*******@yahoo.comwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
>>Perhaps someone can point me in the right direction in finding code, or
finding reading information on how to pass information (ie. ArrayList,
string, etc) between two running window applications, that won't
neccessarily be on the same machine.

This will be my first attempt at this, and I'm not sure if this falls
under COM, or ActiveX.

Any and all help is appreciated.

Thanks in advance.

Mike


Nov 29 '07 #4
On 2007-11-28 21:56:49 -0800, "MikeY" <mi*******@yahoo.comsaid:
Unfortunitly I'm work with VS.NET 2002 and it is my understanding that WCF
needs 2005 and greater.
You might consider upgrading.

But if not, as Nicholas said, .NET Remoting is also an option if you
can't use WCF.

Pete

Nov 29 '07 #5
Mike,

Just curiuous, if the second app is to safeguard in case the printer
name changes, then why not just list the printer with Active Directory? If
you do that, it doesn't matter where the printer is, as you could give it a
consistent name to be accessed by (I believe).
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"MikeY" <mi*******@yahoo.comwrote in message
news:%2***************@TK2MSFTNGP06.phx.gbl...
Hi Nicholas,

Yes they are both Windows/forms .NET C# applications. What I really want
to try to accomplish is to send information from one application to
another application, where it will (eventually) be sent off to be printed
one of various printers. Having the info be send to the 2nd application
is to safe-guard, incase the printer name changes, etc.

If this works, it might just end up on a server, or on another machine.
In my head I'm thinking this is the best course of action, unless there is
a better solution out there.

But thank you Nicholas, I"ll head off right now and check out WCFand or
remoting.

Thanks again.

MIkeY
"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.comwrote
in message news:1F**********************************@microsof t.com...
>Mike,

Are they both .NET applications? If so, you should be looking into
Windows Communication Foundation, or remoting (I urge you to look at WCF
though first).
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"MikeY" <mi*******@yahoo.comwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
>>Perhaps someone can point me in the right direction in finding code, or
finding reading information on how to pass information (ie. ArrayList,
string, etc) between two running window applications, that won't
neccessarily be on the same machine.

This will be my first attempt at this, and I'm not sure if this falls
under COM, or ActiveX.

Any and all help is appreciated.

Thanks in advance.

Mike

Nov 29 '07 #6
Hi Mike,

there is something that may be not that well known in developers
heaven, but i think it is the "fastest" method in sending data between
two applications running on the same machine. Much faster than sockets,
Remoting or any other IPC Method: It is called the WM_COPYDATA
Window Message. You can send any size of Data to the target application,
and it is fast as ligthning! See here if this could be a option for you:

[WM_COPYDATA]
http://msdn2.microsoft.com/en-us/library/ms649011.aspx

This might be the fastest Solution for two applications running
on same machine!

Regards

Kerem

--
-----------------------
Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Microsoft Live Space: http://kerem-g.spaces.live.com/
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------
"This reply is provided as is, without warranty express or implied."
Nov 29 '07 #7
Hi Nicholas,

many roads lead to rome and we could protract this discussion.
You say "A", i say "B",...you say "C" and i will say "D", so i hope
the OP have had some interessting sights on how this could be done.
Sure, if he has the option of some state-of-art or ready solution/method
like WPF or Remoting, why he or she should go that way. I would say
that i am a experienced C/C++ developer so i know the pittfalls of void
pointers and all the stuff that comes with memory allocation and usage,
so every aspect of programming has its do's and dont's. Its up to the
implementor whether he or she wants speed, security or whatever in
her application. We have to accept compromises so it will be done.
There is always another way, like there will be always a bug in any
code or some sort of weakness in its design, runtime, or whatever!
Regards, health and success...

Kerem

--
-----------------------
Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Microsoft Live Space: http://kerem-g.spaces.live.com/
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------
"This reply is provided as is, without warranty express or implied."
Nov 29 '07 #8
Liz

"MikeY" <mi*******@yahoo.comwrote in message
news:%2***************@TK2MSFTNGP06.phx.gbl...
Yes they are both Windows/forms .NET C# applications. What I really want
to try to accomplish is to send information from one application to
another application, where it will (eventually) be sent off to be printed
one of various printers. Having the info be send to the 2nd application
is to safe-guard, incase the printer name changes, etc.
without knowing much detail, can't you just abstract the printer(s) so that
you print to "Laser" or "Plotter" and let a print provider class handle the
details of routing it to the proper device? Alternatively, how about
dumping your print files to a directory queue which picks up and routes the
jobs?
Nov 29 '07 #9
On 2007-11-29 07:25:56 -0800, "MikeY" <mi*******@yahoo.comsaid:
[...]
LOL I only wish I could upgrade .NET, it would make my life easier on a lot
of fronts, but alas, the mighty $$$ gets in the way, or for at least right
now.
Why?

The Express version is free. The actual framework itself is free.

With such an old version of Visual Studio, it's likely that whatever
sacrifices (if any...the Express version is actually remarkably
full-featured) you have to make are far outweighed by having access to
the new C#/.NET features.

You should at least give it a try.

Pete

Nov 29 '07 #10
Hi Willy,

its been a long time when i used shared memory. I am sure
this is also a very fas way to communicate. I am not a friend
of hidden windows, so i even dont mentioned that. I cant
remember how fast it was compared to WM_COPYDATA.
Regards

Kerem

--
-----------------------
Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Microsoft Live Space: http://kerem-g.spaces.live.com/
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------
"This reply is provided as is, without warranty express or implied."
Nov 29 '07 #11
Kerem,

While Sendmessage/WM_COPYDATA is really fast when it comes to small messages
(max. 2Kb), shared memory is a clear winner when you have to deal with
somewhat larger data messages (>8Kb ).
Using WCF (NetNamedPipeBinding ) in a service application I was able to pass
data structures of 8Kb at a rate of ~70Mb/sec. The highest rate I measured
using WM_COPYDATA was ~55Mb/sec using 2Kb messages.
Note that whether you like hidden windows or not, Sendmessage/WM_COPYDATA
needs a window to send your message at, in a Windows Service (or Console
application) there is no other option, after all that's what COM uses under
the covers too.

Willy.

"Kerem Gümrükcü" <ka*******@hotmail.comwrote in message
news:%2****************@TK2MSFTNGP05.phx.gbl...
Hi Willy,

its been a long time when i used shared memory. I am sure
this is also a very fas way to communicate. I am not a friend
of hidden windows, so i even dont mentioned that. I cant
remember how fast it was compared to WM_COPYDATA.
Regards

Kerem

--
-----------------------
Beste Grüsse / Best regards / Votre bien devoue
Kerem Gümrükcü
Microsoft Live Space: http://kerem-g.spaces.live.com/
Latest Open-Source Projects: http://entwicklung.junetz.de
-----------------------
"This reply is provided as is, without warranty express or implied."

Nov 29 '07 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
1743
by: TempMan | last post by:
I want this text field to always display a number variable. The variable "num" is defined in the head, how can I get a text box to display this varibale?? <input name="Balance" type="text"...
6
5716
by: Hamed | last post by:
Hello I have employed as a developer in a software company that its team uses FoxPro / VB 6.0 / VC++ 6.0 as the developing tools and newly is going to migrate to VS.NET. There is a project...
29
4958
by: wayne | last post by:
Hey there... I'm having some problems passing url parameters with an open.window command. I'm not terribly familiar with java script but here is the code below. When executed it opens the...
3
4736
by: Simon Harvey | last post by:
Hi, In my application I get lots of different sorts of information from databases. As such, a lot of information is stored in DataSets and DataTable objects. Up until now, I have been passing...
8
3654
by: Mike Fellows | last post by:
Ok, im not sure if this is at all possible and if it is how i go about it is beyond me i have a piece of client side code that requires a piece of data from the server side (an ID number in this...
2
1034
by: ruca | last post by:
Hi gurus, I have a little complex question for you all, that I hope you can help me. I have a windows application that comunicate with another dll's applications. My Win app have some menus...
19
2507
by: Jaime Stuardo | last post by:
Hi all.. I have created a business logic component that is used from my ASP.NET webform. It works, but connection string to the database is hard coded, as in this method : public DataSet...
1
1907
by: hl | last post by:
Hi, I'm a beginner and need a little help with getting data back from a web service. I am using VB.Net and have added a web reference to a Wsdl that was provided to me. My reference.vb file...
0
777
by: anthony | last post by:
Hi, I have searched this news group for ways to pass data between two vb.net application, there are a few come up, can anyone list the pros and cons or the best solution, I am using 2003 but I...
0
7201
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7083
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7278
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
1
6988
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
1
5011
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4672
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3166
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
1
734
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
379
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.