[AccessD] Talking between Applications.

philippe pons phpons at gmail.com
Mon Jul 16 01:29:37 CDT 2007


Hi, I'm curious to have a look at that too !

Philippe

2007/7/16, Darren D <darrend at nimble.com.au>:
>
> Howdy
>
> Would love to see an example of this
>
> DD
>
> -----Original Message-----
> From: Drew Wutka [mailto:DWUTKA at marlow.com]
> Sent: Saturday, 14 July 2007 9:29 AM
> To: Access Developers discussion and problem solving
> Subject: [AccessD] Talking between Applications.
>
> Ya learn something new every day, don't ya?  I've been re-writing an
> application I built 7 years ago.  The new version is already in
> production, but I'll be adding new features probably for years to come.
> It's a help desk application, and one issue I'm working on is that there
> are several things that are 'monitored' events.  Some events are
> lightning fast, some are a bit slower.  The slower ones slow down the
> interface a bit, because it's all running in the same .exe.  To fix this
> I thought about multithreading, but decided on just creating another
> application to do the monitoring.  So how do you have one application
> talk to another?
>
>
>
> Before, I have used winsocks to do this. But it involves making socket
> connections, etc.  This time, I dug into Window Messaging.  I've done a
> lot of things with windows (in Windows) before, but I had to share this
> little tidbit with the List.
>
>
>
> To bring everyone up to snuff, every window on your machine has an hWnd
> value.  That's the ID of each window.  Windows sends all sorts of
> messages to each window, for every single thing that you do.  When you
> move the mouse over a window, windows is firing window messages to that
> window with the mouse position.  Clicking, typing, resizing, redrawing
> and more are all sent to the windows through window messages.  When you
> close an application, that too is a window message.
>
>
>
> The fun part is, we can use that same process for our own purposes.
> There's a simple API call, called SendMessage, that requires the hWnd of
> the window you want to send a message too, the message ID (every process
> has a static ID, but you can use RegisterWindowMessage to create your
> own messageid (Unique to that particular machine)) and then two
> parameters (both long integers).  Hey, but wait, if all I can send
> between two applications is two integers, what's the point?  Well, you
> can also create a window on the fly, with a single API, you can then set
> it's window text to anything you want, and your recipient applications
> can read that window text and destroy the window.
>
>
>
> I have this process in place (the communication part, now I'm on to
> actually doing something with the comms), and it works great.  Virtually
> no overhead in the communication process, runs as smoothly as moving a
> window across your screen.
>
>
>
> If there's interest in something like this, I'll post some code for it.
>
>
>
> Drew
>
>
>
>
> The information contained in this transmission is intended only for the
> person
> or entity to which it is addressed and may contain II-VI Proprietary
> and/or
> II-VI BusinessSensitve material. If you are not the intended recipient,
> please
> contact the sender immediately and destroy the material in its entirety,
> whether
> electronic or hard copy. You are notified that any review, retransmission,
> copying, disclosure, dissemination, or other use of, or taking of any
> action in
> reliance upon this information by persons or entities other than the
> intended
> recipient is prohibited.
>
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>



More information about the AccessD mailing list